<!DOCTYPE article PUBLIC "-//NLM//DTD JATS (Z39.96) Journal Archiving and Interchange DTD v1.0 20120330//EN" "JATS-archivearticle1.dtd">
<article xmlns:xlink="http://www.w3.org/1999/xlink">
  <front>
    <journal-meta />
    <article-meta>
      <title-group>
        <article-title>Askeri Kara Araçlarında Test Amaçlı Hızlı Kullanıcı Arayüzü Yazılımı Geliştirme</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Cankat AYKURT</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Cankat AYKURT</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
          <xref ref-type="aff" rid="aff1">1</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Bilgisayar Mühendisliği Bölümü, Orta Doğu Teknik Üniversitesi</institution>
          ,
          <addr-line>Ankara</addr-line>
          ,
          <country country="TR">Türkiye</country>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>FNSS Savunma Sistemleri A.Ş.</institution>
          ,
          <addr-line>Ankara</addr-line>
          ,
          <country country="TR">Türkiye</country>
        </aff>
      </contrib-group>
      <fpage>217</fpage>
      <lpage>225</lpage>
      <abstract>
        <p>Electronics systems and their integration on the military land vehicles requires intensive testing. Most of the times required test are hardly conducted because of both the unavailability of the target systems and the importance of</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>1 FNSS Savunma Sistemleri A.Ş., Ankara, Türkiye 2 Bilgisayar Mühendisliği Bölümü, Orta Doğu Teknik Üniversitesi, Ankara, Türkiye</title>
      <p>the safety factors. While cost of these electronics systems and engineering
efforts are taken into account; the required tests need test software which can
simulate a system or most of the unavailable systems. In an attempt to decrease
the repetitive engineering effort spent on different vehicle projects and different
vehicle variants, a software framework is designed to create automated
graphical user interfaces for complex data types on frequently used data buses in the
vehicles. This article presents the purpose, motivation and technical
development details of the software framework and the gained achievements of the
project realization.
1
1.1</p>
      <sec id="sec-1-1">
        <title>Giriş</title>
        <sec id="sec-1-1-1">
          <title>Problem Tanımı</title>
          <p>Endüstride; sistem tasarımı, yazılım geliştirme ve test aşamalarında, alt sistemlerin
haberleştiği gerçek sistemlerin benzetimini yapabilen yazılımlara ihtiyaç
duyulmaktadır. Askeri kara araçları üzerindeki veri yollarına bilgisayar üzerinden bağlanarak alt
sistemlerin anlık durumlarını görüntüleyip komuta etme ihtiyacı, tasarım ve test
aşamalarında sürekli olarak gerekmektedir. Elektronik ve bağlı mekanik birimlerin
testlerinde, diğer sistemlerden izole ve güvenli bir test ortamı sağlamak için çevre
birimlerin davranışlarını taklit eden haberleşme uygulamalarının geliştirilmesi
gerekmektedir. Grafiksel kullanıcı arayüzüne (GUI1) sahip bu yazılımların geliştirilme
sürecindeki mühendislik eforunu azaltmak için askeri kara araçlarında sıklıkla
kullanılan haberleşme protokolleri (CAN2 Bus, seri haberleşme) öncelikli olarak
belirlenmiş ve çalışma bu doğrultuda gerçekleştirilmiştir.
1.2</p>
          <p>Çalışmanın Hedefi ve Yöntem
Askeri kara araçları operasyonel görevleri (komuta, haberleşme, istihkam, v.b.) ve
fiziksel özellikleri (paletli, tekerlekli, amfibi v.b.) doğrultusunda birbirlerinden farklı
donanımlarda tasarlanmaktadır. Bu çeşitlilik, tasarım ve test aşamasında yazılım
gereksinimlerinin de çeşitlenmesini beraberinde getirmektedir.</p>
          <p>Bu çalışmada, her araç projesi ve her araç varyantı için ayrı ayrı test arayüz
yazılımları geliştirmek yerine hızla haberleşme ve grafiksel kullanıcı arayüzlerinin
oluşturulmasına olanak sağlayacak bir yazılım çerçevesi geliştirmek hedeflenmiştir.
Araç üzerinde haberleşme protokollerine bağlı sistemlere ait mesajların basit bir
kullanıcı arayüzü üzerinden tanımlanmasıyla, durum görüntüleme ve komuta kontrol
amaçlı grafiksel kullanıcı arayüzlerinin otomatik oluşturularak haberleşmenin
sağlanması amaçlanmıştır. Bu sayede sistem tasarım, geliştirme ve test aşamalarında
hızlı bir test ve doğrulama çözümü elde edilmiştir. Protokol üzerindeki verilerin anlık
tanılanması, sistemlerin durumlarının gösterimi ve kontrolü, grafik gösterimi ve
raporlanması yazılım üzerinden hazırlanmıştır. Aynı zamanda, bu çalışma ile araçlara
özel mesajların da tasarlanması ve arayüz kontrol dokümanlarının yazılım üzerinden
otomatik oluşturulması sağlanmıştır.</p>
          <p>Çalışma sonucunda ortaya çıkan yazılımın, ihtiyaç duyulduğunda yeni veri tipleri,
yeni kullanıcı arayüz komponentleri ve yeni haberleşme protokolleri tanımlanmasına
imkan verecek esneklikte modüler olarak tasarlanması sağlanmıştır.
2</p>
        </sec>
      </sec>
      <sec id="sec-1-2">
        <title>Uygulama</title>
        <p>
          Bu çalışmada yazılımın geliştirilmesi için Microsoft Visual C# dili [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ] ve LINQ
metodolojisi [
          <xref ref-type="bibr" rid="ref7">7</xref>
          ], sistem mesaj dosyalarının hazırlanması için XML dili [
          <xref ref-type="bibr" rid="ref8">8</xref>
          ] ve
alternatif olarak JSON formatı [
          <xref ref-type="bibr" rid="ref9">9</xref>
          ] kullanılmış, raporlar HTML5 [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] ile dışa aktarılmış,
dokümanların ve yazılımın konfigürasyon kontrolü SVN sürüm takip sisteminde [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]
sağlanmıştır.
        </p>
        <p>
          Yazılım çerçevesi, geliştirilebilir yapıda olup bu çalışma kapsamında yerine
getirmeyi amaçladığı beş temel fonksiyona ait modüllerden ve haberleşme
arayüzlerinden oluşmaktadır.Haberleşme arayüzleri için ilk etapta askeri kara
araçlarında sıklıkla kullanılan CAN [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ]-[
          <xref ref-type="bibr" rid="ref15">15</xref>
          ] protokolü ve RS-232 [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ] seri
haberleşme protokolü arayüzleri tasarlanmıştır. Amaçlanan beş temel fonksiyon; sistem
tanımlama, durum görüntüleme, komuta kontrol, grafiksel gösterim ve raporlamadır.
Şekil 1. Geliştirilen yazılım çerçevesine ait fonksiyonel modüller
2.1
        </p>
        <sec id="sec-1-2-1">
          <title>Sistem Tanımlama</title>
          <p>Sistem Tanımlama modülünde, araç üzerindeki haberleşme protokollerine bağlı
sistemlere ait mesajların yazılım çerçevesi üzerinde kolayca tanımlanması
amaçlanmıştır. Bağlı sistemlere ait arayüz mesajları için genelleyici bir model
oluşturulmuştur. Bu model vasıtasıyla sistem mesajlarına ait özelliklerin uygulama
üzerinden basit bir şekilde tanımlanarak XML3 ve/veya JSON4 dosyalarında saklanması
hedeflenmiştir. Veri yolu üzerindeki akış aşağıdaki şekilde modellenmiştir:
Şekil 2. Veri yolu üzerindeki mesajların en üst seviyeden modeli</p>
          <p>Veri yolu üzerindeki mesajlar, belirleyici alanları ile tanımlanmış ve bunlara birer
isim ataması yapılmıştır. Mesajların belirleyici alanları dışında en az bir adet anlamlı
bölüm içereceği kabullenmesiyle yola çıkılarak mesajlar, alanlara bölünmüştür.
Mesajın belirleyici alanı ve ismine ek olarak mesaja ait diğer alanlar bir liste olarak
alt düğümlerde kaydedilmiştir.</p>
          <p>Mesaj alanlarına ait kaydedilecek bilgiler; alan isimlerini, başlangıç ve bitiş
konumlarını (bit sıraları), varsayılan değerlerini, veri tiplerini ve (varsa) çarpan katsayısı
ile offset miktarını içermektedir. Alan isimleri, mesajları anlaşılır parçalara bölmek
için kullanıcının tanımlaması veya arayüz kontrol dokümanında belirlenen ismin
kullanılması için planlanmıştır. Bu alanın mesaj içindeki konumu başlangıç ve bitiş
bit numaraları ile tanımlanmıştır. Varsayılan değerler, sistemin başlangıç durumunda
3 eXtensible Markup Language
4 JavaScript Object Notation
bu veri alanında görülmesi beklenen değeri içermektedir. Belirtilen başlangıç ve bitiş
konumları arasındaki bit diziliminin nasıl ayrıştırılacağı da veri tipi bilgisi olarak
saklanmaktadır.</p>
          <p>Alanların alabileceği potansiyel değerler listesi aşağıdaki veri tiplerinden
oluşmaktadır:
─ Enum5: Kullanıcının tanımladığı veya arayüz kontrol dokümanında
belirlenmiş tanımlı değerleri içeren veri,
─ Byte: 8 bit uzunluğunda tamsayı içeren veri,
─ UInt16: 16 bit uzunluğunda işaretsiz tamsayı içeren veri,
─ UInt32: 32 bit uzunluğunda işaretsiz tamsayı içeren veri,
─ UInt64: 64 bit uzunluğunda işaretsiz tamsayı içeren veri,
─ Int16: 16 bit uzunluğunda işaretli tamsayı içeren veri,
─ Int32: 32 bit uzunluğunda işaretli tamsayı içeren veri,
─ Int64: 64 bit uzunluğunda işaretli tamsayı içeren veri,
─ Float: 32 bit uzunluğunda işaretli reel sayı içeren veri,
─ Double: 64 bit uzunluğunda işaretli reel sayı içeren veri,
─ None: Henüz anlamlandırılmamış veri; mesaj içerisinde rezerve olarak
bırakılmış boş bit dizilimleri için kullanılabilir.</p>
          <p>Şekil 3. Mesaj, Alan ve Değer Tanımlamaları</p>
          <p>Mesaj alanlarının alabileceği değerler, yukarıda verilen veri tiplerine göre
belirlenmiştir. Değerler, bit dizilimleri ve değer isimlerini içermektedir. Veri tipi enum
olarak tanımlanan alanların olası değerleri, sisteme bit dizilimleri ile ilişkilendirilerek
isimlendirilir. Bu pratik üst seviye ayrıştırma metoduyla veri yolu üzerindeki test
edilecek sistem veya sistemler, yazılım çerçevesi üzerinde tanımlanır ve kaydedilir.
Böylece sistemlerin veri arayüzlerinin kayıt altında tutulması ve ilerleyen zamanlarda
arayüz kontrolleri üzerinde yapılacak olası değişikliklerin kolayca güncellenmesi de
sağlanmaktadır.</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-2">
      <title>5 Enumerated Type</title>
      <p>2.2</p>
      <sec id="sec-2-1">
        <title>Durum Görüntüleme</title>
        <p>Durum Görüntüleme modülünde, araçta bağlanılan veri yolu üzerindeki sistemlere ait
mesajların grafiksel kullanıcı arayüzlerinin otomatik olarak hazırlanması
amaçlanmıştır. Sistem Tanımlama modülü ile tanımlanan kayıt dosyaları bu modül ile
açıldığında yazılım çerçevesi mesajlar için sekme sayfaları hazırlamakta ve bu
sayfaları mesajlara bölerek, önceden tanımlanmış alternatifler arasından veri tiplerine
uygun grafiksel kullanıcı arayüz araçlarını (metin kutusu, çoktan seçmeli kutu,
doğrusal gösterge, dairesel gösterge, vb.) yerleştirmektedir.</p>
        <p>Şekil 4. Durum Görüntüleme ekranları düşük duyarlıklı modeli</p>
        <p>Bağlanılan haberleşme protokolü üzerindeki veriler anlık minimum gecikmeyle
ayrıştırılarak alanlara ait değerler otomatik olarak oluşturulan grafiksel kullanıcı
arayüzleri üzerinde görüntülenmekte ve güncellenmektedir.
2.3</p>
      </sec>
      <sec id="sec-2-2">
        <title>Komuta Kontrol</title>
        <p>Komuta Kontrol modülünde, araçta bağlanılan veri yolu üzerindeki sistemlere ait
mesajların diğer sistemlere ilgili mesajları gönderebilmesi için gerekli grafiksel
kullanıcı arayüzlerinin otomatik olarak hazırlanması amaçlanmıştır. Sistem
Tanımlama modülü ile tanımlanan kayıt dosyaları bu modül ile açıldığında yazılım çerçevesi
gönderilecek olası mesajlara, bu mesajların alabileceği olası değerlere göre sekme
sayfaları ve önceden tanımlanmış alternatifler arasından veri tiplerine uygun grafiksel
kullanıcı arayüz araçlarını (metin kutusu, çoktan seçmeli kutu, doğrusal gösterge,
dairesel gösterge vb.) yerleştirmektedir.</p>
        <p>Bağlanılan haberleşme protokolü üzerinde ilgili mesajlar, oluşturulan grafiksel
kullanıcı arayüzü üzerinden seçimler yapılarak kullanıcı isteğine göre veya arayüz
kontrol dokümanında tanımlandığı şekilde tek seferlik veya belirlenen periyotlarda
gönderilebilmektedir.
2.4</p>
      </sec>
      <sec id="sec-2-3">
        <title>Grafiksel Gösterim</title>
        <p>Grafiksel Gösterim modülünde, araçta bağlanılan veri yolu üzerindeki sistemlere ait
mesajların kullanıcı tarafından seçilen alanlarının zamana bağlı grafiklerinin
çizdirilmesi amaçlanmıştır. Farklı mesajların bir arada gösterilmesiyle sistem içi
ve/veya sistemler arası ilişkilerin test edilmesi, gecikmelerin, durum ve değer
değişikliklerinin görüntülenmesi sağlanarak kullanıcıya görsel bir araç daha sağlanmıştır.</p>
        <p>Bu modül üzerinde, grafiklerin serileştirilerek saklanması ve daha sonra yeniden
çizdirilerek test durumlarının gerektiğinde tekrar görselleştirilmesi amaçlanmıştır.
2.5</p>
      </sec>
      <sec id="sec-2-4">
        <title>Raporlama</title>
        <p>Raporlama modülünde, araçta bağlanılan veri yolu üzerindeki sistemlere ait
mesajların kullanıcı tarafından seçilen alanlarının istenilen zaman aralıkları içinde
dokümante edilerek gösterilmesi ve raporlama amacıyla kaydedilmesi amaçlanmıştır.
Bu modül sayesinde sistem içi ve/veya sistemler arası ilişkilerin test edilmesi, durum
ve değer değişikliklerinin zamanlarının kayıt altına alınması ve geriye dönük
incelenmesi sağlanmıştır.</p>
        <p>Bu modül üzerinde hazırlanan raporlar Microsoft Word, PDF ve HTML5 olarak
dışa aktarılabilmektedir.
3</p>
        <sec id="sec-2-4-1">
          <title>Kazanımlar</title>
          <p>Proje sonunda ortaya çıkan yazılımın sağladığı kazanımın ölçülebilmesi için kurumsal
ERP6 yazılımındaki verilerden yardım alınmıştır. Buna göre, hedef test platformu
olarak seçilen M113 aracı için önceden hazırlanan durum görüntüleme ve komuta
kontrol amaçlı simulator yazılımının tasarımı için sisteme giren adam saat bilgisi
çekilmiştir. Yazılımı hazırlayan aynı personelden proje sonucunda ortaya çıkan
yazılımı kullanarak M113 ICD7’sine göre tekrar tasarım yapması istenmiştir. Bu
bilgiler ışığında proje ile elde edilen kazanımları sayısal olarak aşağıdaki şekilde ifade
edebiliriz:

</p>
          <p>M113 aracı için daha önce 80 adam saatlik (2 haftalık) bir çalışma sonucunda
ortaya çıkan grafiksel kullanıcı arayüzü yazılımı, bu çalışma sonucu elde edilen
yazılım çerçevesi ile 2 adam saatte hazırlandı.</p>
          <p>M113 aracı için 4445 satır kod ile hazırlanan grafiksel kullanıcı arayüzü yazılımı,
bu çalışma sonucu elde edilen yazılım çerçevesi ile kod yazılmadan sadece veri
yolundaki mesajlara ait parametrelerin girilmesiyle otomatik olarak elde edildi.
6 Enterprise Resource Planning
7 Interface Control Document</p>
          <p>Bu çalışma ile her araç ve her varyant için tekrarlanan grafiksel kullanıcı arayüzü
yazılımı geliştirme aşamalarını hızlandıracak ve harcanan mühendislik eforunu ciddi
ölçekte azaltacak bir yazılım ve çerçeve oluşturuldu.
4</p>
        </sec>
        <sec id="sec-2-4-2">
          <title>Sonuçlar ve Gelecek Çalışmalar</title>
          <p>Sistem tasarımı, yazılım geliştirme ve test aşamalarında, alt sistemlerin haberleştiği
gerçek sistemlerin benzetimini yapabilen yazılımlara duyulan ihtiyacı karşılamak ve
harcanan mühendislik eforunu azaltmak amacıyla geliştirilen bu yazılım çerçevesi
sayesinde operasyonel görevleri (komuta, haberleşme, istihkam, v.b.) ve fiziksel
özellikleri doğrultusunda (paletli, tekerlekli, amfibi v.b.) birbirlerinden farklı
donanımlarda tasarlanan askeri araçlarda grafiksel kullanıcı arayüzüne sahip test ve benzetim
yazılımları ihtiyacının hızlı bir şekilde karşılanması sağlanmıştır.</p>
          <p>
            Araçlar üzerinde haberleşme protokollerine bağlı sistemlere ait mesajların basit bir
kullanıcı arayüzü üzerinden tanımlanmasıyla, durum görüntüleme ve komuta kontrol
amaçlı grafiksel kullanıcı arayüzlerinin otomatik oluşturularak sistemlerle
haberleşmenin sağlanması; bu sayede sistem tasarım, geliştirme ve test aşamalarında hızlı
bir test ve doğrulama çözümünün elde edilmesi sağlanmıştır. Protokol üzerindeki
verilerin anlık tanılanması, sistemlerin durumlarının gösterimi ve kontrolü, grafik
gösterimi ve raporlanması ile farklı amaçlarda tasarım ve test mühendislerinin
harcayacağı efor azaltılmış, insan bilgisayar etkileşimi yüksek [
            <xref ref-type="bibr" rid="ref17">17</xref>
            ], [
            <xref ref-type="bibr" rid="ref18">18</xref>
            ] bir yazılım
çözümü sunulmuştur.
          </p>
          <p>Şekil 5. Geliştirilen yazılım çerçevesinden testler esnasında alınan bir ekran görüntüsü
Çalışma sonucunda ortaya çıkan yazılımın, ihtiyaç duyulduğunda yeni veri tipleri,
yeni kullanıcı arayüz araçları ve yeni haberleşme protokolleri tanımlanmasına imkan
verecek esneklikte modüler olarak tasarlanması sağlanmıştır. Doğacak gereksinimler
doğrultusunda yeni yetenekler kazandırılacaktır. Öngörülen yetenekler arasında;
halihazırda eklenen haberleşme arayüzlerine ek olarak TCP/IP ve UDP ulaşım
katmanlarının ilave edilmesi ve testler esnasında araçlara kablosuz erişim bulunmaktadır.
5</p>
          <p>Teşekkür
Proje süresince desteğini esirgemeyen ve emeği geçen yöneticilerime, test
süreçlerinde katkı sağlayan başta Burak Arısoy olmak üzere tüm çalışma arkadaşlarıma
teşekkür ederim.</p>
        </sec>
      </sec>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Std</surname>
          </string-name>
          1058
          <article-title>-1998, IEEE Standard for Software Project Management Plans, The Institute of Electrical and Electronics Engineers, Inc</article-title>
          .,
          <source>December 1998</source>
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Std</surname>
          </string-name>
          830
          <article-title>-1998, IEEE Recommended Practice for Software Requirements Specifications, The Institute of Electrical and Electronics Engineers, Inc</article-title>
          ., June 1998
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Wiegers</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beatty</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <year>2013</year>
          .
          <string-name>
            <given-names>Software</given-names>
            <surname>Requirements</surname>
          </string-name>
          . 3rd ed. Microsoft Publishing.
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Std</surname>
          </string-name>
          1016
          <article-title>-2009, IEEE Standard for Information Technology-Systems DesignSoftware Design Descriptions, The Institute of Electrical and Electronics Engineers, Inc</article-title>
          .,
          <source>July 2009</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <given-names>IEEE</given-names>
            <surname>Std</surname>
          </string-name>
          829
          <article-title>-2008, IEEE Standard for Software and System Test Documentation, The Institute of Electrical and Electronics Engineers, Inc</article-title>
          .,
          <source>July 2008</source>
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>6. C# Guide https://docs.microsoft.com/en-us/dotnet/csharp/csharp</mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>7. Language Integrated Query https://docs.microsoft.com/en-us/dotnet/csharp/programming-guide/concepts/linq/</mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <given-names>Extensible</given-names>
            <surname>Markup</surname>
          </string-name>
          <article-title>Language (XML) https</article-title>
          ://www.w3.org/XML/
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Introducing</surname>
            <given-names>JSON</given-names>
          </string-name>
          http://www.json.org/
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>10. HTML5 https://www.w3.org/TR/html5/</mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>11. Apache Subversion https://subversion.apache.org/</mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <source>BOSCH CAN Specification, Version</source>
          <volume>2</volume>
          .0,
          <string-name>
            <given-names>Robert</given-names>
            <surname>Bosch</surname>
          </string-name>
          <string-name>
            <surname>GmbH</surname>
          </string-name>
          ,
          <year>1998</year>
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>Di</given-names>
            <surname>Natale</surname>
          </string-name>
          ,
          <string-name>
            <given-names>M.</given-names>
            ,
            <surname>Zeng</surname>
          </string-name>
          ,
          <string-name>
            <given-names>H.</given-names>
            ,
            <surname>Giusto</surname>
          </string-name>
          ,
          <string-name>
            <given-names>P.</given-names>
            ,
            <surname>Ghosal</surname>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Understanding and Using the Controller Area Network Communication Protocol: Theory and Practice</article-title>
          . 1st ed.,
          <source>2012</source>
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>SAE</given-names>
            <surname>Vehicle Application</surname>
          </string-name>
          <string-name>
            <surname>Layer</surname>
          </string-name>
          ,
          <fpage>J1939</fpage>
          -71, Society of Automotive Engineers,
          <year>2003</year>
        </mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15.
          <article-title>PCAN-USB User Manual, CAN Interface for USB</article-title>
          ,
          <string-name>
            <surname>Peak-System Technik</surname>
            <given-names>GmbH</given-names>
          </string-name>
          ,
          <year>2016</year>
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <article-title>EIA standard RS-232-C: Interface between Data Terminal Equipment and Data Communication Equipment Employing Serial Binary Data Interchange, Electronic Industries Association</article-title>
          . Engineering Dept.,
          <year>1969</year>
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Mayers</surname>
            ,
            <given-names>B. A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rosson</surname>
            <given-names>M. B.</given-names>
          </string-name>
          ,
          <source>Survey on User Interface Programming</source>
          ,
          <year>1992</year>
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Gajos</surname>
            ,
            <given-names>K. Z.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Czerwinski</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tan</surname>
            ,
            <given-names>D. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weld</surname>
            ,
            <given-names>D. S.</given-names>
          </string-name>
          ,
          <article-title>Exploring the Design Space for Adaptive Graphical User Interfaces, 2006</article-title>
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>