Tez No İndirme Tez Künye Durumu
808123
OMNET++ simulation model for integrated modular avionics / Entegre modüler aviyonikler için OMNET++ simulasyon modeli
Yazar:MÜMİN GÖKER GAYRETLİ
Danışman: DR. ÖĞR. ÜYESİ RAMAZAN YENİÇERİ
Yer Bilgisi: İstanbul Teknik Üniversitesi / Lisansüstü Eğitim Enstitüsü / Savunma Teknolojileri Ana Bilim Dalı / Savunma Teknolojileri Bilim Dalı
Konu:Bilgisayar Mühendisliği Bilimleri-Bilgisayar ve Kontrol = Computer Engineering and Computer Science and Control ; Savunma ve Savunma Teknolojileri = Defense and Defense Technologies
Dizin:
Onaylandı
Yüksek Lisans
İngilizce
2023
84 s.
İlk icat edilen transistörlerin boyutları oldukça büyük olduğu için bu transistörler ile olu¸sturulan entegre devreler ve bilgisayarlar hava araçlarının boyut ve ağırlık gibi gereksinimlerini karşılayamamaktaydılar. Ancak gün geçtikçe bir entgere devre üzerine yerleştirilebilecek tümdevre sayısının sürekli artması hava araçlarında kullanılabilecek avionik sistemlerin çeşitliliği arttırmaktadır. Ancak avionik sistemlerin çe¸sitliliğinin artması bölümün ba¸sında bahsedilen boyut ve ağırlık gibi gereksinimlerin sağlanmasında tekrardan sıkıntılara neden olmuştur. Bu noktada Entgre Modüler Aviyonik (Integrated Modular Avionics - IMA) mimarisi bu probleme bir çözüm olarak Ortak Entegre Aviyonik Çalı¸sma Grubu (Joint Integrated Avionics Working Group - JIAWG) tarafından ilk olarak F-22 savaş uçağı programı kapsamında önerilmiştir. IMA farklı kritikliğe sahip aviyonik görev bilgisayarlarının yaptığı işleri tek bir bilgisayar tarafından yapılmasına olanak sağlayan bir mimaridir. IMA mimarisinin bir uçakta tam anlamıyla sağlanabilmesi bir çok farklı standard geliştirilmiştir. Bunlardan ikisi ARINC 653 ve ARINC 664 P7 (Avionics Full-Duplex Switched Ethernet : AFDX) standardlarıdır. ARINC 653 standardı, aviyonik görev bilgisayar üzerinde kullanılmak üzere tasarlanan Gerçek Zamanlı İşletim Sisteminin (GZIS) kurallarını ve servislerini tanımlar. GZIS sayesinde de donanım üzerindeki hesaplama birimleri ve Giriş/Çıkış (G/Ç) cihazları gibi kaynaklar aviyonik uygulamalara paylaştırılabilir. Bu paylaşım bölümleme (partitioning) adındaki bir yöntem ile gerçekleştirilir. ARINC 653, donanımın ortak kaynakları kullanan her bir uygulamayı bölme (partition) olarak adlandırır. Bölmeler Ana Zaman Yapısı (Major Time Frame : MTF) olarak adlandırılan zaman akışı üzerine yerleştirilir. Her bir bölme, MTF üzerinde Bölme Zaman Çerçevesi (PTW : Partition Time Window) olarak isimlendirilen bir zaman aralığına sahiptir ve donanım üzerindeki kaynaklara sadece bu zaman aralığında erişebilir. Bölme, sadece sanal bir entiti olduğu için sensör verisi okuma ve motor kontrolü gibi görevleri gerçekleştiremez. Bu tarz görevler işlem (process) adı verilen çalışma birimleri tarafından gerçekleştirilir. Her bölmenin kendine ait işlemleri mevcuttur ve bu işlemler farklı kritiklik değerlerine sahiptir. Zaman, PTW'nun MTF üzerindeki başlangıç noktasına ulaştığında, bölmedeki en yüksek kritikliğe sahip işlem donanımın kaynaklarına erişmek üzere işlem yöneticisi tarafından seçilir ve çalıştırılır. AFDX standardı temel olarak, IMA sistemindeki ağ cihazlarının band genişliğinin uygulamalara paylaştırılmasında kullanılan yöntem ve kuralları tanımlar. Bir gönderici aviyonik uygulama, bir veya birden fazla alıcı aviyonik uygulamaya aynı veriyi iletebilir. Bu veri iletiminde kullanılan uygulamaların oluşturduğu alt ağ, sanal hat (VL : Virtual Link) olarak isimlendirilir. AFDX, VL'de gönderici uygulamanın zaman farkı olmaksızın art arda paket yollamasını önleyen Band genişliği Tahsis Aralığı (Bandwidth Allocation Gap : BAG) kuralını tanımlar. Bu kurala göre bir VL kaynak uygulamasının gönderdiği iki veri paketi arasında geçmesi gereken minimum bir süre vardır. Aviyonik işlem bu kurala uymadan veri paketi gönderse dahi Uç Sistem (End System : ES) ve Anahatar olarak adlandırılan ve AFDX'in kurallarının uygulanmasını sağlayan ağ cihazları bu veri paketlerini donanım üzerinde depolar ve BAG kuralını sağlayana kadar bekletir. Bu kural sağlandıktan sonra paketler alıcı uygulamalara gönderilmek üzere ağa gönderilir. Bunun yanı sıra ağda iletilen her bir veri paketi boyutunun maksimum (Smax) ve minimum (Smin) değerleride belirlenmelidir. Bu veri boyutu aralığını ihlal eden paketler ES ve Anahtar tarafından düşürülmektedir. Bu iki kural, bir VL'in band genişliğini tanımlar. Bahsedilenlere ek olarak, ARINC 653 ve AFDX standardları kullanıldığı sistemlerde daha bir çok kuralın ve parametrenin tanımlanmasına neden olur. Bu durum sistem tasarımındaki değişken sayısı arttırmakta ve optimum ağ performansını verecek sistem tasarımını ve parametreleri bulmayı zorlaştırmaktadır. Fiziksel testlerin fazlalığı ise projelerin maliyetini arttırır ve teslim tarihlerinde gecikmelere neden olur. Bu sorunları çözmek adına tasarlanan IMA modeli simulasyon ortamında gerçeklenebilir. Böylelikle mühendisler daha fazla denemeyi daha kısa bir zamanda gerçekleştirerek ürünlerin pazara sürüm süresini kısaltabilirler. Bunlara ek olarak sisteme yeni bir donanım eklemek istediklerinde donanımı satın almak yerine simulasyon ortamındaki sisteme donanımın modelini ekleyebilirler. Simulasyon ortamında yeterli bir gelişme görülürse donanım fiziksel olarak alınabilir. Bu tezde, ARINC 653 ve AFDX standardlarını sağlayan IMA sisteminin bir benztimi OMNET++ simulatoru üzerinde gerçeklenmiştir. Uygulamaların ağ performansını ölçmek adına, ARINC 653 ve AFDX standardlarının tanımladığı bütün kuralları simulasyon ortamında sağlamak hem mantıklı hem de gerekli değildir. Bu yüzden ilk olarak bir sistem modeli geliştirilerek haberleşme performansını ölçmek için gerekli olan bileşenler belirlenmiştir. Haberleşme performans ölçümü yapmak için temelde sistemde bulunan işlemlerin standarda uygun olarak seçilip çalıştırılması gerekmektedir. Bu görevi yapmak adına bölme, bölme yöneticisi, işlem ve işlem yöneticisi bileşeleri tasarlanmalıdır. Bölme yöneticisi modülü, MTF'nin içeriğine göre gerekli olan bölme modüllerinin başlatılması ve durdurulması operasyonlarını gerçekleştirmelidir. Bölme modülü ise içinde alt modül olarak işlem yöneticisi ve işlem modüllerini barındırmalıdır. Ayrıca bölme modülü, kendisine gelen başlatma ve durdurma isteklerini işlem yöneticisi modülüne aktarmalıdır. İşlem yöneticisi modülüde kendisine gelen bu isteklere göre işlemleri durdurma veya koşturma operasyonlarını gerçekleştirir. Bu bileşenler, aviyonik görevlerin ARINC 653 standardına uygun olarak yönetilmesini sağlarlar. Ancak buna ek olarak bölmeler arasındaki haberleşme de sistemin haberleşme performansını ölçmek adına gereklidir. Bunun için standard tarafından tanımlanan örnekleme ve kuyruklama haberleşme modlarını gerçekleyen bileşenlerde geliştirilmelidir. AFDX standardı için modellenmesi gereken iki adet cihaz vardır: ES ve Anahtar. ES, işlemlerin ağda iletişim kurmalarını sağlayan cihazdır. Bir işlem, mesaj göndermek istediği zaman, ilk olarak oluşturulan mesajı ES içinde bulunan gönderici haberleşme portlarına yazar. Mesaj yazımının ardından cihaz; BAG, veri paket boyutu uyumluluğu ve fazlalık güzergah mekanizması gibi yöntemleri paket üzerinde uygular ve paketi ağa gönderir. Daha sonra alıcı tarafta mesajı alan ES, paketi bütünlük denetimi ve fazlalık denetimi gibi işlemlerden geçirerek uygun alıcı haberleşme portuna yazar. Son olarak alıcı işlem aktive edildiğinde mesajı bu porttan okur. Anahtar ise ağdaki ES'leri birbirine bağlamada kullanılır ve temelde 3 adet görevleri vardır: süzgeçleme, ilkeleme ve anahtarlama. Süzgeçleme, anahtara gelen paketlerin VL veri paketi boyutu kısıtının sağlanıp sağlanmadığını kontrol eder. Öte yandan BAG aralığı kuralının kontrol edilmesi ise ilkeleme olarak adlandırılır. Anahtarlama özelliği ise gelen paketlerin hangi çıkış portlarına yönlendirilmesi gerektiğini belirleyen kuraldır. Haberleşmenin AFDX standardına göre gerçekleştirilmesi için modellenmesi gereken cihazlar ve yöntemler bu şekilde özetlenebilir. Sistem modeli geliştirilen cihazların ve yapıların simulasyon ortamında aktarılması gerekmektedir. OMNET++, diğer simulasyon ortamlarına kıyasla daha iyi ölçeklenebilme ve genişletilebilme özelliklerine sahiptir. Ayrıca, OMNET++ aktif bir topluluğa sahiptir ve açık kaynak kodlu bir yazılımdır. Bunlara ek olarak ortamda INET gibi OSI katmanının ayrıntılı gerçeklenmesini sağlayan bir çalışma mevcuttur. Bu sebeplerden ötürü sistem modellerinin simulasyon üzerinde gerçeklenmesi için OMNET++ ortamı seçilmiştir. ARINC 653 standardı için sistem modelinde belirlenen bölme, bölme yöneticisi, işlem ve işlem yöneticisi bileşenlerine ek olarak port kanalı ve ağ gönderici sürücüsü olmak üzere iki adet daha bileşen geliştirilmiştir. Port kanalı, alıcı bileşenler ile ES'nin alıcı haberleşme portunu birbirine bağlarken, ağ gönderici sürücüsü ise gönderici işlemin yolladığı veri paketlerinin ES'de bulunan doğru gönderici haberleşme portuna yazılmasından sorumludur. AFDX standardı için, daha önceki bir çalışmada geliştirilen bir model temel alınmıştır~\cite{Eyup1}. Anahtar cihazı için çalışmadaki model aynı şekilde kullanılabilirken ES cihazı ise ek bileşen geliştirmelerine ihtiyaç duymaktadır. Çalışmadaki modelde ES sadece cihaz seviyesinde ölçüm yapmak adına tasarlandığı için gönderici ve alıcı haberleşme portları tasarlanmamıştır. Dolayısıyla alıcı haberleşme portlarına mesajın yazılmasından sorumlu olan yönlendirici bileşeni de tasarlanmamıştır. Önceki çalışmadaki ES simulasyon modeli üzerine bu iki bileşen daha eklenerek paket alma ve verme işlemlerini gerçekleştirebilecek simulasyon modeli oluşturulmuştur. Oluşturulan simulasyon modellerinin ilk olarak paket alma ve verme işlemlerini gerçekleştirip gerçekleştiremediği test edilmiştir. Bunu test etmek adına ağ modelinde gönderici ve alıcı olarak isimledirilen iki adet IMA modülü bulunduran bir senaryo oluşturulmuştur. Gönderici modülü, veri paketi oluşturulması ve bu paketin alıcı modele gönderilmesinden sorumludur. Senaryoda iki modül arasında herhangi bir anahtar cihazı bulunmamaktadır. Bu yüzden gönderilen paket doğrudan alıcı modülünün haberleşme portlarına yazılır. Alıcı modüldeki işlem başlatıldığında haberleşme portundaki veriyi alır ve içindeki mesajı simulasyon konsoluna yazdırır. İşlem bileşenin aldığı paket verilerinin doğruluğu simulasyon konsulunda gözlemlenerek paket alma ve verme işlemlerinin doğru bir şekilde yapıldığı anlaşılmıştır. Paket alma ve verme işlemlerine ek olarak bileşenlerin doğru zamanlarda çalıştırılıp çalıştırılmadığı da test edilmelidir. Bunun için başka bir çalışmada bulunan daha gelişmiş bir senaryo kullanılmıştır~\cite{UPPAAL-Scenario1}. Bu senaryoda toplamda 4 adet IMA modülü ve 5 adet uygulama mevcuttur. Sadece bir modülde 2 adet uygulama mevcut iken diğer modüllerde birer adet uygulama vardır. İlk olarak geliştirilen yazılım-tabanlı uygulama gecikmesi formülü ile senaryoda bulunan sanal hatların teorik gecikmesi hesaplanmışıtır. Daha sonra her bir VL'in uygulama gecikmesi simulasyon ortamında elde edilmşitir. Elde edilen bu iki verinin birbirleri ile uyumlu olduğu gözlenmiştir. Ayrıca senaryodaki 1 numaralı sanal hattındaki gönderici uygulama 2 adet veri paketini aralarında zaman farkı olmaksızın göndermektedir. Alıcı ve gönderici uygulamaların periyot değerleri de bu durum göz önünde bulundurulmadan tasarlandığı için VL'in güncel BAG değeri de paket kaybını engelleyememektedir. Bu durumu çözmek adına BAG değeri alıcı uygulamanın periyoduna yaklaştırıldığında paket kabının azalması beklenmektedir. Bu beklenti farklı BTA değerleri için doğrulanmıştır. Teorik ve simulasyon uygulama gecikme değerleri ve BAG-Paket kaybı ilişkisinin beklenildiği gibi olması bileşenlerin doğru zamanlarda çalıştırılabildiğini göstermektedir. Sistem modeli oluşturulan tasarım, simulasyon ortamına aktarılmış ve aktarılan modelin doğruluğu farklı parametreler ve senaryolar kullanılarak test edilmiştir. Bu model ile daha bir çok senaryonun performansı farklı metrikler kullanılarak ölçülebilir. Tezde yapılan çalışmaya daha gelişmiş teknolojiler eklenebilir. Örneğin, cihaz seviyesinde AFDX standardı ile uyumlu cihazlar yerine Zaman Tetiklemeli Ethernet (Time-Triggered Ethernet : TTE) ve Zaman Duyarlı Ağ (Time-Sensitive Networking : TSN) gibi teknolojileri destekleyen cihazlar kullanılabilir. Ayrıca tasarlanan ARINC 653 standardı modeli tek işlemcide çalışacak şekilde modellenmiştir. Bu model uygulamaların paralel olarak çalışıtırılabileceği bir hale getirilip daha farklı ölçümler yapılabilir.
As the number and variety of electronic devices in aircraft continue to grow, the traditional federated architecture needs to be revised to meet these vehicles' size, weight, and power (SWaP) constraints. Integrated Modular Avionics (IMA) architecture has emerged as a promising solution for the SWaP problems. The IMA architecture optimizes the utilization of size, weight, and power by centralizing multiple application tasks onto a single hardware platform. When developing an IMA system, it is crucial to consider the relevant standards. ARINC 653 and ARINC 664 P7 (also known as AFDX) are two prominent standards that have garnered considerable attention and recognition within this context. However, these standards have numerous configuration parameters and offer various design options for engineers and designers. Therefore, determining the system configuration for optimal network performance is complex. In this regard, performing a significant portion of the IMA system design process in a simulation environment can efficiently conserve limited resources, including time and finances. This thesis proposes a simulation model of the IMA system to solve these issues. It is neither logical nor necessary to simulate all the rules defined by ARINC 653 and AFDX standards to measure the network performance of applications. Therefore, the first step of the thesis is to develop a system model of ARINC 653 concepts and AFDX devices to identify the necessary components used to measure communication performance. It is necessary to design components such as partition, partition manager, process, and process manager to manage avionic tasks according to ARINC 653 standard. The role of the partition manager component is to handle the initiation and termination operations of the required partition components based on the Major Time Frame (MTF). On the other hand, the partition component encompasses sub-components, including the process manager and process. Furthermore, the partition should relay the initiation and termination requests it receives to the process manager. As for the process manager, it executes the operations of stopping or starting process according to the received requests. In addition to managing avionic tasks, it is also necessary to have communication between the partitions to measure the system's communication performance. Therefore, it is essential to develop components that perform the sampling and queuing communication modes defined by the ARINC 653 standard. Two devices must be modeled for the AFDX standard: the End System (ES) and the Switch. The ES serves as the network device for communication between processes in the network. When a process wants to send a message, it writes the message to the sender communication ports within the ES. After writing the message, the device applies techniques such as BAG, data packet size compatibility, and redundancy management mechanisms to the packet before sending it to the network. On the receiving side, the ES receives the message from the physical link and performs operations like integrity checking and redundancy management. Then, the packet is written to the appropriate receiver communication port. When the receiver process is activated, it can read the message from the port. The switch device connects the ES in the network and performs filtering, policing, and switching tasks. While filtering ensures that packets comply with data packet size limitations, policing checks adherence to BAG rules. Also, switching determines the appropriate output ports for incoming packets. The devices and structures developed in the system model must be converted to the simulation model in a simulation environment. OMNET++ offers better scalability and extensibility compared to other simulation environments. Additionally, we can benefit from an active community, open-source code, and frameworks like INET that provide a detailed implementation of the OSI layer. That is why OMNET++ has been chosen as the environment for implementing a simulation model of the developed system model. In addition to the partition, partition manager, process, and process manager components specified in the system model, two additional components have also been developed for the simulation model of the ARINC 653 concepts: port channel and network transmitter driver. The port channel connects the receiver process to the receiver communication port of the ES, while the network transmitter driver is responsible for writing the data packets sent by the sender process to the correct sender communication port within the ES. For the AFDX device, a previously developed model [1] has been utilized. The same model from the paper has been used for the switch device. However, additional enhancements are required for the ES. In the existing model, the ES was designed solely for performing measurements at the device level, so no sender and receiver communication ports were designed. In addition to communication ports, the design does not include the demux component, which is responsible for writing messages to the appropriate receiver communication ports. The newly developed simulation model can handle packet reception and transmission operations by adding these two components to the previous simulation model. The developed simulation model is tested to determine their capability to handle packet reception and transmission tasks successfully. For this purpose, a scenario was created in the network model, consisting of two IMA modules referred to as sender and receiver. The sender module generates data packets and transmits them to the receiver module. The message integrity of the received data by the process of the receiver module is observed on the simulation console, confirming the successful execution of packet reception and transmission operations. It is essential to test not only the packet reception and transmission operations but also the timing of component executions to ensure proper functioning. A more advanced scenario from a previous study has been utilized [2]. Initially, the theoretical delays of the Virtual Link (VL) in the scenario are calculated using the application delay formula that includes software-based overheads. Then, the application delays are obtained through simulation, and it is observed that they converge with the theoretical values. Furthermore, the sender application in VL 1 of the scenario sends two data packets without any time gaps. However, since the design of the receiver and sender applications did not consider this, the current BAG value of the VL cannot prevent packet loss. The expectation is that reducing packet loss can be achieved by increasing the BAG value to match the period of the receiver application. This relation has been confirmed through testing with various BAG values. The consistency between the theoretical and simulated application delays and the expected relationship between BAG and packet loss indicates that the components are executed at the correct timing. The system design has been accurately transferred to the simulation environment, allowing for performance measurement in various IMA scenarios. Future developments can explore advanced technologies, such as using devices that support Time-Triggered Ethernet (TTEthernet) and Time-Sensitive Networking (TSN) instead of AFDX-compliant devices. Additionally, the ARINC 653 standard model has been designed to model a single processor system, but it can be further enhanced to enable parallel execution of applications and conduct complex measurements.