<!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>Bir Endüstriyel Nesnelerin İnterneti Mimarisinin ATAM Yaklaşımı ile Değerlendirilmesi Evaluation of an IIoT System Using ATAM</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Kemal Memiş</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ersin Seza</string-name>
          <email>ersin.seza@icterra.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Erdem Kaymaz</string-name>
          <email>erdem.kaymaz@icterra.com</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Hüseyin Kutluca</string-name>
          <email>huseyin.kutluca@icterra.com</email>
        </contrib>
        <contrib contrib-type="editor">
          <string-name>Anahtar Kelimeler: ATAM, Endüstriyel Nesnelerin İnterneti, Mikro Servis</string-name>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>ASELSAN, M. A. Ersoy Mah.</institution>
          ,
          <addr-line>296. C. No:16, 06370 Yenimahalle Ankara /</addr-line>
          <country country="TR">Türkiye</country>
        </aff>
      </contrib-group>
      <abstract>
        <p>This paper presents the ATAM based architectural analysis of a monitoring and control system that collects data from thousands of end devices for recording, analysis and display. Risks, sensitivity points and tradeoffs identified during scenario based analysis are being handled during development phase of the project.</p>
      </abstract>
      <kwd-group>
        <kwd>ATAM</kwd>
        <kwd>Industrial Internet of Things</kwd>
        <kwd>Micro Service</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>ASELSAN Ulaşım, Güvenlik, Enerji ve Otomasyon Sistemleri Sektör Başkanlığı
(UGES) her tür şebeke yönetimini (enerji, doğal gaz, su vb.) hedeflediği bir altyapı
projesini gerçekleştirmektedir. Geliştirilecek mimarinin uygulandığı ilk alan olarak
elektrik şebeke yönetimi (Enerji Dağıtım, Üretim, İletim Sistemleri) hedeflenmektedir.
Bu kapsamda tasarım, yazılım geliştirme ve testlerin icra edilmesi işleri için yazılım
mühendisliği alanında hizmet sağlayıcı olan ICterra Bilgi ve İletişim Teknolojileri A.Ş
ile projenin altyüklenicisi olarak çalışmaktadır.</p>
      <p>
        Referans mimarisi Şekil-1 de verilen sistemde uç sistemler ASELSAN tarafından
geliştirildiği gibi, mimari desteklediği uluslararası standartlar sayesinde farklı
firmaların uç birimleriyle de veri alış verişi yapabilmektedir. Merkezde çalışacak olan yazılım,
sahadan veri alınacak uç birim sayısından ve bu birimlerden alınan verilerin
yoğunluğundan bağımsız, kesinti yaşanmadan erişilebilir olmalıdır. Bu isterin sağlanabilmesi
için, sistemin gerçek zamanda dinamik olarak, yatayda aşağı ya da yukarı yönde
ölçeklendirilebilmesi ve servis hatalarının birbirinden izole tutulabilmesi gerekmektedir.
Bunun yanında sistemde bulunan servislerin işlediği verilerin servisler bazında homojen
olmaması, her servisin bir diğerinden bağımsız olarak ölçeklendirilebilmesini
gerektirmektedir. Mikro servislerin birbirinden bağımsız şekilde konteyner altyapıları
kullanılarak kurulumları ve yedekli çalışmaları beklenmektedir. Tüm bu isterlerin yerine
getirilebilmesi için, mikro servis[
        <xref ref-type="bibr" rid="ref1 ref2">1,2</xref>
        ] mimari tasarım kalıbı kullanılmıştır. Uygulamanın
genel amacı, uç birimlerden ilgili protokoller üzerinden alınan verilerin, ortak veri
modeline dönüştürülerek kaydedilmesi, analiz edilmesi ve ilgili kullanıcılara sunulmasıdır.
Uç birimlerin entegrasyonu ile birlikte tüm sistem milli olarak geliştirilen Endüstriyel
Nesnelerin İnterneti (Industrial Internet of Things) [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] uygulaması olacak ve büyük
çaplı görev kritik projeler için kullanılabilir bir altyapı oluşturacaktır.
Şekil 1 Üst Seviye Mimarisi
Bölüm 2’de mimari tasarım süreci ve bu sürecin bir parçası olan ATAM tabanlı analiz
yaklaşımı anlatılmaktadır. Analiz süreci girdisi olan iş hedefleri Bölüm 3’te verilmiştir.
Bölüm 4’te mevcut sistem mimarisinin ATAM sürecine göre analizi anlatılmaktadır.
Sonuç bölümünde yapılan çalışma değerlendirilmiş ve gelecek dönem çalışmaları
özetlenmiştir.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>Mimari Tasarım ve Analiz Yaklaşımı</title>
      <p>
        Yazılım mimarisi geliştirme süreci Şekil 2’de verildiği gibi döngülü bir süreçtir.
Mimari gereksinimler doğrultusunda tasarlanan yazılım mimarisinin mimari
gereksinimleri karşıladığının ve projenin geliştirilebilir olduğunun eş gözden geçirme süreci ile
değerlendirilmesi gerekmektedir. Bu kapsamda öne çıkan gözden geçirme yaklaşımı
senaryo tabanlı bir mimari analiz metodu olan Mimari Ödün Analizi Metodudur
(Architectural Tradeoff Analysis Method-ATAM) [
        <xref ref-type="bibr" rid="ref4 ref5 ref6">4,5,6</xref>
        ]. ATAM metodu endüstride gerek
savunma projelerinde gerekse IT projelerinde başarı ile kullanılmıştır [
        <xref ref-type="bibr" rid="ref10 ref7 ref8 ref9">7,8,9,10</xref>
        ].
ATAM yaklaşımı savunma sanayinde kullanılan detaylı tasarım gözden geçirme
aşamalarında kullanılabildiği gibi [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] gibi CMMI sürecinin bir parçası olan mimari Karar
Analizi ve Çözümleme süreci kapsamında da kullanılabilmektedir [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ].
Çevik geliştirme yönetimi [
        <xref ref-type="bibr" rid="ref11 ref12">11, 12</xref>
        ] ile geliştirilen ve veri yoğunluğu bakımından kritik
olan şebeke yönetim yazılımının mimari kararlarının değerlendirilmesi amacı ile tercih
edilmiştir. Bu kapsamda ASELSAN proje teknik lideri, ICterra proje teknik lideri ve
ICterra Kıdemli Yazılım Mimarı’nın yanı sıra ICterra Uzman Yazılım Mimarı, ICterra
Grup Yöneticisi ve ASELSAN UGES Yazılım Mühendisliği Müdürü seviyesinde
katılım sağlanarak projenin analizi yapılmıştır.
      </p>
      <p>
        Şekil 2 Yazılım Mimari Tasarım Süreci ( [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ]’ den adapte edilmiştir.)
ATAM incelenen mimarinin potansiyel risklerini, ödünleşim ve duyarlılık noktalarını
tespit eden bir yazılım mimarisi değerlendirme ve analiz etme yöntemidir. ATAM,
alınan tasarım kararlarının sonuçlarını sistemden beklenen kalite öznitelikleri [
        <xref ref-type="bibr" rid="ref13">13</xref>
        ]
doğrultusunda değerlendirmeyi amaçlar.
ATAM çalışması sonucunda, değerlendirilen sistemin;
• Kalite öznitelikleri, gereksinimleri açıkça tanımlanmış,
• Yazılım mimari dokümantasyonu oluşturulmuş,
• Tasarım kararları gerekçelendirilmiş,
• Mimari riskleri tespit edilmiş,
• Paydaşları arasında iletişim geliştirilmiş olunması hedeflenmektedir.
Kavramsal ATAM süreci akışı Şekil 3’te verilmiştir. Bu süreç öncelikli olarak iş
hedeflerinin belirlenmesi ile başlar. Bu aşamada sistemin işin kapsamı, fonksiyonel
beklentiler, varsa teknik veya yönetsel kısıtlar ve mimariyi şekillendiren temel kalite
gereksinimleri belirlenir. Bununla eş zamanlı olarak planlanan mimarinin ve sistemden
beklenen kalite niteliklerinin öngörülen mimari tasarım ile nasıl gerçekleştirileceği
belirlenir.
      </p>
      <p>Daha sonraki aşamada sistem için önemli olan kalite nitelikleri belirlenir, bu nitelikler
senaryolaştırılır ve senaryolar kendi içlerinde “önem” ve “zorluk” kıstaslarına göre
önceliklendirilir.</p>
      <p>Sonraki aşamada geliştirilen senaryolardan yüksek öncelikli olanlar analiz edilir. Bu
adımda mimari riskler, duyarlılık noktaları ve ödün noktaları tespit edilir. Bu süreç
sonucu yapılan çalışma raporlanır ve ihtiyaca göre projenin ileriki aşamalarında
güncellenir. Tespit edilen risk konularına göre mimari geliştirme ve değerlendirme süreci
tekrarlanır.
Şekil 3 ATAM Tabanlı Mimari Analiz Kavramsal Akışı (SEI web sitesinden adapte
edilmiştir.)</p>
      <p>
        Kavramsal olarak yukarıda verilen ATAM sürecinin Tablo 1’de belirtilen adımlar
halinde ilerlemesi beklenmektedir [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ]:
      </p>
      <sec id="sec-2-1">
        <title>Tablo 1. Atam Süreci</title>
        <sec id="sec-2-1-1">
          <title>Sunum Aşaması:</title>
          <p>1. ATAM’ın Sunulması
2. İş Hedefi Girdilerinin Sunulması
3. Mimarinin Sunulması</p>
        </sec>
        <sec id="sec-2-1-2">
          <title>Araştırma ve Analiz Aşaması:</title>
          <p>4. Mimari Yaklaşımların Tanımlanması.
5. Kalite Faktörleri Ağacının Oluşturulması.
6. Mimari Yaklaşımların Analiz Edilmesi</p>
        </sec>
        <sec id="sec-2-1-3">
          <title>Test Aşaması</title>
          <p>7. Senaryo Önceliklendirilmesi
8. Mimari Yaklaşımların Analiz Edilmesi</p>
        </sec>
        <sec id="sec-2-1-4">
          <title>Raporlama aşaması:</title>
          <p>9. Sonuçların Sunulması</p>
          <p>
            Bu sürecin geniş katılımcı paydaşlarla toplantılar halinde yapılması öngörülmekle
birlikte [
            <xref ref-type="bibr" rid="ref4">4</xref>
            ] bu toplantıların çevik süreç uygulayan projelerde uygulanmasının getirdiği
zorluklar değerlendirilerek süreç adapte edilmiş ve ön çalışmalar sonrası yarım günlük
bir toplantı ile paydaş analizi yapılmıştır. [
            <xref ref-type="bibr" rid="ref6">6</xref>
            ]. Proje kapsamında bu yaklaşım
kullanılmış, çekirdek kadro tarafından hazırlanan ATAM analizi yarım günlük bir toplantı ile
değerlendirilmiş ve toplantıda alınan görüşlere göre analiz raporu güncellenmiştir. Süre
kısıtlarından dolayı sınırlı sayıda senaryo dikkate alınmış ve buna göre çalışma
yapılmıştır. Yine çevik model ile uyumlu ATAM sürecinde anlatıldığı üzere daha sonraki
proje aşamalarında farklı senaryolar (örneğin güvenlik) ele alınarak ilgili senaryolar ile
mimarinin analiz edilmesi hedeflenmektedir.
3
3.1
İş Hedefleri Girdileri
          </p>
        </sec>
        <sec id="sec-2-1-5">
          <title>Paydaşlar ve Mimariye Etkileri:</title>
          <p>ASELSAN UGES Sektör Başkanlığı: Ürün ve mimari tasarım sahibi. Ürünü, birden
fazla projede kullanılabilir bir altyapı olarak hedeflemektedir. Sistem gereksinimlerini
belirlemekte, mimariyi oluşturmakta ve yönlendirmektedir. Yazılım geliştirme
faaliyetlerini teknik olarak yönlendirmekte ve belirli alanlarda yazılım geliştirme
faaliyetlerine katılmaktadır.</p>
          <p>ICterra: Yazılım mimari tasarım faaliyetlerini ASELSAN ile birlikte yürütmekte ve
yazılım geliştirme faaliyetlerini yürütmektedir.</p>
          <p>Son Müşteri: Şebeke yönetim operatörleridir.
3.2</p>
          <p>İşin Kapsamı:
Proje Kapsamında mimari tasarıma girdi olarak sunulan iş hedefleri aşağıda verilmiştir:</p>
          <p>Referans mimari her tür şebeke yönetimini (enerji, doğal gaz, su vb.)
hedeflemektedir.</p>
          <p>Mimarinin ilk uygulandığı alan olarak elektrik şebeke yönetimi (Enerji
Dağıtım, Üretim, İletim Sistemleri) hedeflenmektedir.</p>
          <p>Yeni teknolojinin getirdiği esneklik, birlikte çalışabilirlik ve kolay kurulum
özellikleri ürünün pazarlana bilirliğini arttıracaktır.
Ürüne orta vadede gelişmiş yüksek hacim analitiği ve makine öğrenmesi gibi
en ileri kabiliyetlerin de eklenebilir olması öngörülmektedir.</p>
          <p>Yüksek servis sürekliliği sağlayan bir ürün geliştirerek görev kritik sistemler
için de kullanılabilir olması planlanmaktadır.
3.3</p>
        </sec>
        <sec id="sec-2-1-6">
          <title>Mimariyi etkileyen Ana Kullanım Durumları</title>
          <p>Proje Kapsamında mimari tasarımı etkileyecek kullanım durumları aşağıda verilmiştir:
1. KD-1 Uç cihazlardan gelen verinin gerçek zamanlı gösterilmesi
2. KD-2 Uç cihazlardan gelen verinin veri tabanına kaydedilmesi
3. KD-3 Kayıtlı veriden grafiklerin oluşturulması
4. KD-4 Gelen verilerden alarm koşullarının oluşturulması ve sergilenmesi
5. KD-5 Uç birimlere ilgili protokolleri kullanarak komut veya konfigürasyon
verisi gönderilmesi
6. KD-6 Toplanan veriler üzerinde veri analitiği algoritmaları işletilmesi
3.4</p>
        </sec>
        <sec id="sec-2-1-7">
          <title>Mimari Kaygılar</title>
          <p>Proje paydaşları tarafından dile getirilen mimari kaygılar değerlendirilmiş ve
aşağıda listelenmiştir:
1.
2.
3.
4.
5.
6.
7.
8.</p>
          <p>Sistemin hem bulut üzerinde hem de yerel sunucularda çalışması
beklenmektedir.</p>
          <p>Farklı büyüklükteki projeler için ölçeklenebilir olmalıdır. (Küçük projeler için
maliyet etkin çözüm olması önemlidir.)
Sistemin performans sorunu olmadan 7/24 çalışması beklenmektedir.
Yedekli çalışabilecek alt yapıda tasarlanması beklenmektedir.</p>
          <p>Dağıtık (cluster) çalışabilecek alt yapıda tasarlanacaktır. Dinamik olarak
genişleyebilecektir/daralacaktır.</p>
          <p>Dış ara yüzlerde yeni protokolleri destekleyebilecek esnek tasarım altyapısına
sahip olacaktır.
İzlenebilirlik yüksek olacaktır. Servislerin hata/sağlık vb. durumlarının
izlenebilmesi için kayıt altyapısı sağlayacaktır.</p>
          <p>Farklı projelerde farklı dış ara yüzler ve yapılandırılabilir edilebilir yetenekler
olabilecektir. Farklı projelerde yeni yazlım servislerinin eklenmesine olanak
tanımlamalı. Bunun için diğer modüllerde değişiklik gerekmemelidir.
Kullanılması istenmeyen servislerin sistemde kapatılabilmesi sağlanmalıdır.</p>
        </sec>
        <sec id="sec-2-1-8">
          <title>Sınırlamalar</title>
          <p>
            Paydaşların belirttiği ve yazılım mimarisini etkileyebileceği öngörülen proje
sınırlamaları aşağıdaki gibidir:
1. Referans mimari ile ilk çalışabilir prototip yazılımın proje tasarım aşamasının
başlangıcından itibaren bir sene içinde çıkması gerekmektedir.
2. Ürünün CIM [
            <xref ref-type="bibr" rid="ref14">14</xref>
            ] standart veri modelini desteklemesi beklenmektedir.
3. İşletim sisteminden bağımsız olarak çalışması beklenmektedir.
4. Farklı şirketlerde çalışan birden fazla ekip tarafından paralel geliştirilme
yapılabilecektir.
5. Lisanslı yazılımlar yerine projede aynen kullanım kısıtı bulunmayan (GPL,
          </p>
          <p>LGPL, Apache gibi) açık kaynak yazılım kütüphaneleri tercih edilecektir.
4</p>
        </sec>
      </sec>
    </sec>
    <sec id="sec-3">
      <title>Kalite Öznitelikleri Senaryoları ve Mimari Analiz</title>
      <p>Mimari analiz çalışması olarak kalite öznitelikleri senaryoları oluşturulmuş ve üzerinde
analiz çalışması yapılmıştır. Bu kapsamda ortaya çıkan senaryolar, proje açısından
önem ve yazılım geliştirme açısından zorluk derecelerine göre değerlendirilmiştir
(Tablo 2).</p>
      <sec id="sec-3-1">
        <title>Tablo 2. Kalite Öznitelikleri</title>
        <p>NO</p>
        <sec id="sec-3-1-1">
          <title>Kalite Özniteliği</title>
        </sec>
        <sec id="sec-3-1-2">
          <title>Senaryo</title>
        </sec>
      </sec>
      <sec id="sec-3-2">
        <title>Perf-1</title>
        <p>Sür-1
Değ-1</p>
        <p>Performans-sunum
zamanı
Süreklilik</p>
        <p>Değiştirilebilirlik
Değ-2</p>
        <p>Değiştirilebilirlik
Klş-1</p>
        <p>Kullanışlılık
Bkm-1</p>
        <p>Bakım yapılabilirlik</p>
      </sec>
      <sec id="sec-3-3">
        <title>Uç birimlerden gelen verilerin kayıpsız işlenmesi. Sunucu yazılımları yedekli çalışabilmeli.</title>
        <p>Sisteme farklı protokol
üzerinden konuşan yeni uç
sistem ve/veya farklı merkezler
entegre edilebilmesi.</p>
        <p>Sisteme yeni yetenekler
eklenebilecek ve/veya mevcut
servisler kapatılabilecektir.
Minimum sayıda operatör
ile izleme ve yönetim.</p>
        <p>Servislerin hata/sağlık vb.
durumlarının izlenebilmesi
için kayıt altyapısı
sağlanması.
Önem
Y:
Yüksek O:</p>
        <sec id="sec-3-3-1">
          <title>Orta D: Düşük</title>
          <p>Y
Y
Y
Y
O
O</p>
        </sec>
        <sec id="sec-3-3-2">
          <title>Zorluk</title>
        </sec>
        <sec id="sec-3-3-3">
          <title>Y: Yüksek</title>
        </sec>
        <sec id="sec-3-3-4">
          <title>O: Orta D: Düşük</title>
          <p>Y
Y
O
O
O
D
Seçilen örnek senaryolar için detaylı kalite öznitelikleri analizleri aşağıdaki Tablo
3Tablo 8’de verilmiştir. Her bir senaryoyu gerçeklemek üzere seçilen mimari kararlar
dokümante edilmiştir. Bununla birlikte mimari riskler, duyarlılık noktaları ve ödün
noktaları tespit edilmiş ve sunulmuştur.</p>
        </sec>
        <sec id="sec-3-3-5">
          <title>Tablo 3. Performans Senaryosu</title>
        </sec>
        <sec id="sec-3-3-6">
          <title>Senaryo #: Perf-1</title>
          <p>Trafolardan gelen verinin kayıpsız işlenmesi
Ortam: Sistemin entegre sahada çalışma ortamı
Uyarıcı (Stimulus): Örnek kullanım durumunda verilen sayıda istasyonun sisteme
öngörülen frekansta veri sağlaması
Tepki (Response): Verilerin kayıpsız şekilde veri tabanına kaydı ve alarm koşullarının
kayıpsız şekilde tespiti.</p>
          <p>Tepki Ölçüsü (Response Measure): Kayıpsız veri için referans yük durumu: Örnek bir
kullanım durumu: 15000 İstasyon, her istasyonda 3500 ölçüm noktası, her ölçüm
noktasından ortalama 64 byte veri (zaman, tipi, ölçüm değeri vb.), 10 dakikada bir güncelleme</p>
        </sec>
      </sec>
      <sec id="sec-3-4">
        <title>Mimari kararlar</title>
        <p>Çok yüksek hacimdeki verilerin etkin şekilde
saklanabilmesi için kullanılacak disk sistemi de önemlidir
Benzer şekilde veri kayıt periyodu dikkate alınarak disk
boyutu belirlenmeli.</p>
        <p>Performans açısından en kritik olan ölçüm verisinin
işlenmesi ve modüller arası aktarılması optimize şekilde
yapılmalı.</p>
        <sec id="sec-3-4-1">
          <title>Tablo 4. Süreklilik Senaryosu</title>
        </sec>
      </sec>
      <sec id="sec-3-5">
        <title>Risk olmayan husus RO</title>
        <p>Senaryo #: Değ-1 Sisteme farklı protokoller üzerinden konuşan yeni uç
sistemlerin ve/veya farklı merkezlerin entegre edilmesi.</p>
        <p>Ortam: Yeni Proje/Operasyonel sistem</p>
        <sec id="sec-3-5-1">
          <title>Uyarıcı (Stimulus):</title>
          <p>- Mevcut Altyapının yeni proje için yeniden kullanılması
- Mevcut sisteme yeni tür bir uç birim entegre edilmesi
- Mevcut sistemin başka bir sistem ile entegre edilmesi
Tepki (Response): Yeni uç birimin/karşı sistem ile veri alışverişi sağlaması
Tepki Ölçüsü (Response Measure): Mevcut servislerin en az şekilde etkilenmesi.</p>
        </sec>
        <sec id="sec-3-5-2">
          <title>Mimari kararlar</title>
          <p>CIM veri modeli hala gelişmekte olan bir standarttır ve veri
modelinde gelişmeler olmaktadır. Uygulanacak projede daha yeni
bir CIM versiyonu istenmesi durumunda, yazılım modüllerinde
geniş çaplı değişiklik gerekecektir.</p>
          <p>Yeni entegre edilen trafoda daha önceden işlenmemiş veri
/kontrol verisi olmaması durumunda birden fazla modül
etkilenebilecektir. Modüllerin yeni veriler/mesajlar eklenebilir
yapıda geliştirilmesi gerekmektedir.</p>
          <p>Yeni protokolleri desteklemek için farklı 3. Parti kütüphane
kullanmak gerekebilecektir. Farklı kütüphanelerin
entegrasyonu için uygun altyapı kurulması gerekmektedir.</p>
          <p>T1
RO-1</p>
          <p>Storm kullanıldığı için Apache Storm’un desteklendiği dillere
bağımlılık bulunmaktadır. Diğer dillere mecbur olunduğu
takdirde mesaj kuyruğuna veri aktaran adaptör tanımlanması
gerekecektir.</p>
          <p>Yeni entegre edilen trafoda daha önce işlenmiş bir veri için
bütün alanlar dolu olmayabilir. Bu durumda varsayılan değerler
kullanılacaktır.</p>
        </sec>
        <sec id="sec-3-5-3">
          <title>Senaryo #: Sür-2</title>
        </sec>
      </sec>
      <sec id="sec-3-6">
        <title>Ortam: Sahada çalışan istasyon Uyarıcı (Stimulus) : Donanım hatası, güç kesilmesi, yazılım hatası Tepki (Response) : Sistemin kapanma sonrası yeniden başlatılması</title>
        <sec id="sec-3-6-1">
          <title>Tepki Ölçüsü (Response Measure) : Mevcut görevin devam edebilmesi</title>
          <p>Tablo 5. Değiştirile bilirlik Senaryosu -1</p>
        </sec>
      </sec>
      <sec id="sec-3-7">
        <title>Sunucu yazılımları yedekli çalışabilmeli</title>
      </sec>
      <sec id="sec-3-8">
        <title>Mimari kararlar</title>
      </sec>
      <sec id="sec-3-9">
        <title>Hassasiyet</title>
        <p>(Sensitivity)
Ödün
(Tradeoff)</p>
      </sec>
      <sec id="sec-3-10">
        <title>Risk Hususları</title>
      </sec>
      <sec id="sec-3-11">
        <title>Risk</title>
        <p>Olmayan
Hususlar</p>
      </sec>
      <sec id="sec-3-12">
        <title>Mesaj kuyruğu (Message Queue) yapısının kullanılması</title>
        <sec id="sec-3-12-1">
          <title>Gerekçe:</title>
          <p>Yazılımlarda problem olduğu zaman (istenmeden sonlanma, elektrik kesintisi vb. ) mesaj
kuyruğu veriyi diskte tutarak veri kaybını önleyecektir.</p>
        </sec>
        <sec id="sec-3-12-2">
          <title>Hassasiyet /Ödün/ Risk/Risk Açıklama olmayan</title>
        </sec>
      </sec>
      <sec id="sec-3-13">
        <title>Tablo 6. Değiştirile bilirlik Senaryosu</title>
        <sec id="sec-3-13-1">
          <title>Senaryo #: Değ-2</title>
          <p>Yeni bir servisi mevcut servisleri değiştirmeden ekleme</p>
        </sec>
      </sec>
      <sec id="sec-3-14">
        <title>Ortam: Bakım ve garanti dönemi Uyarıcı (Stimulus): Yeni bir fonksiyon ihtiyacı Tepki (Response): Mevcut servisler değiştirilmeden yeni bir servisin eklenmesi</title>
        <sec id="sec-3-14-1">
          <title>Tepki Ölçüsü (Response Measure): Değiştirilen servis sayısı</title>
        </sec>
      </sec>
      <sec id="sec-3-15">
        <title>Mimari kararlar</title>
      </sec>
      <sec id="sec-3-16">
        <title>Hassasiyet</title>
        <p>(Sensitivity)
Ödün
deoff)
(Tra</p>
      </sec>
      <sec id="sec-3-17">
        <title>Risk</title>
        <p>hususları</p>
      </sec>
      <sec id="sec-3-18">
        <title>Risk olmayan husus</title>
      </sec>
      <sec id="sec-3-19">
        <title>Mikro servis</title>
        <p>mimarisi</p>
        <p>Rabbit MQ
Mesaj Kuyruğu</p>
        <p>Konteyner
ya</p>
        <p>H1
pısı
Gerekçe: Yeni servisler mikro servis olarak tasarlanacaktır. Yeni servisler konteyner ile
kurularak diğer servisleri olumsuz etkilememesi sağlanacaktır. Yeni servisler RabbitMQ üzerinden
verilere erişebilecektir.</p>
        <sec id="sec-3-19-1">
          <title>Hassasiyet/Ödün/ Açıklama</title>
        </sec>
        <sec id="sec-3-19-2">
          <title>Risk/Risk olmayan</title>
          <p>H1</p>
          <p>Kapatılması muhtemel servislere bağımlı başka servislerin olmamasına
özen gösterilecektir.</p>
        </sec>
      </sec>
      <sec id="sec-3-20">
        <title>Tablo 7. Kullanışlılık Senaryosu Minimum sayıda (1-2) operatör ile izleme ve yönetim</title>
        <sec id="sec-3-20-1">
          <title>Senaryo #: Klş-1</title>
        </sec>
      </sec>
      <sec id="sec-3-21">
        <title>Ortam: Operasyonel sistem</title>
      </sec>
      <sec id="sec-3-22">
        <title>Mimari kararlar</title>
      </sec>
      <sec id="sec-3-23">
        <title>Web Tabanlı Tek sayfa Uygulaması (React Node JS) Filtre Tasarımları</title>
      </sec>
      <sec id="sec-3-24">
        <title>Hızlı ekran tasarımı</title>
      </sec>
      <sec id="sec-3-25">
        <title>Analiz/alarm altyapısı</title>
        <p>Uyarıcı (Stimulus): Binlerce uç cihazdan veri gelmekte, alarm koşulları oluşmakta
Tepki (Response): Alarm durumlarının kaçırılmaması, zamanında operasyonel tepki verebilme
Tepki Ölçüsü (Response Measure): Hata durumunun kolaylıkla tespiti. Gerekli verinin olması</p>
      </sec>
      <sec id="sec-3-26">
        <title>Hassasiyet (Sensitivity) Ödün (Tradeoff)</title>
      </sec>
      <sec id="sec-3-27">
        <title>Risk olmayan husus RO1</title>
        <p>R1
Önceliklendirilmiş alarm
altyapısı
Gerekçe: İzleme sistemlerinde operasyonel maliyeti düşürmek üzere az sayıda operatör ile
işletilmesi hedeflenmektedir. Bu durumda mevcut operatörlerin ekranlarının aşırı yüklenmemesi ve
oluşan alarmların kayıpsız şekilde operatöre iletilmesi beklenmektedir.</p>
        <sec id="sec-3-27-1">
          <title>Hassasi- Açıklama yet/Ödün/Risk/Risk olmayan</title>
          <p>R1</p>
          <p>Mevcut algoritmalar verilerin limit değerini incelemekte ve limit
dışı her durum için alarm üretmektedir. Bu durumda bir uç</p>
          <p>RO-1
sistemde oluşacak ve birden fazla veriyi etkileyecek durum için
aynı anda onlarca alarm üretilebilir. Bu durum operatörün aşırı
yüklenmesine sebep olabilir.</p>
          <p>Risk giderme yöntemi 1: Yüksek hacimli analitiği ve makine
öğrenmesi gibi en ileri kabiliyetlerin de eklenebilir olması
öngörülmektedir.</p>
          <p>Web tabanlı tek sayfa uygulamaları üzerinde sade ekranlar UX
tasarımcıları tarafından tasarlanmakta ve operatöre verinin etkin
bir şekilde sunulması öngörülmektedir.</p>
        </sec>
      </sec>
      <sec id="sec-3-28">
        <title>Tablo 8. Bakım Yapılabilirlik Senaryosu</title>
        <sec id="sec-3-28-1">
          <title>Senaryo #: Bkm-1</title>
          <p>Sistemin hata/sağlık vb. durumlarının izlenebilmesi</p>
        </sec>
      </sec>
      <sec id="sec-3-29">
        <title>Ortam: Operasyonel sistem Uyarıcı (Stimulus): Yazılım hatası/beklenmeyen veri/ durum Tepki (Response): Hata durumunun tespiti için kullanıcıya/geliştiriciye gerekli logların sağlanması</title>
        <p>Tepki Ölçüsü (Response Measure): Hata durumunun kolaylıkla tespiti. Gerekli verinin
olması</p>
        <p>Mimari kararlar</p>
      </sec>
      <sec id="sec-3-30">
        <title>Hassasiyet</title>
        <p>(Sensitivity)
Ödün
(Tradeoff)</p>
        <p>Belirli aralıklarla eski logların yedeklenip silinmesi
öngörülmeli.
5</p>
        <p>
          Sonuç
Yapılan mimari analiz çalışması ile müşteriden gelen iş hedefleri, mimari kaygılar ve
teknik kısıtlar dikkate alınarak oluşturulan mimarinin senaryo tabanlı analizi
yapılmıştır. Senaryo seçiminde mikro servis mimarisi dikkate alınarak en kritik
görülen performans, değiştirilebilirlik ve süreklilik ön planda tutulmuştur. Bu yaklaşım
[
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]’de anlatılan endüstri verileri ile de tutarlıdır. Bu çalışmada ayrıca kullanışlılık ve
bakım yapılabilirlik ön planda tutulmuş ve analiz edilmiştir. Proje kapsamında ortaya
çıkartılan teknik riskler, hassasiyet noktaları ve ödünler dikkate alınarak proje prototip
çalışması devam etmektedir. Prototip sonrası mevcut mimari analiz dokümanı prototip
sonuçlarına göre güncellenecek ve proje yazılım geliştirme faaliyetleri bu dokümana
uyumlu bir şekilde yapılacaktır. Önümüzdeki dönemde mevcut senaryoların daha
detaylı analizi yapılacak ve güvenlik kalite özniteliği senaryoları üzerinde çalışmalar
yapılacaktır. Projenin sonraki aşamalarında depolanan verilerin derin öğrenme, büyük
veri analizi, makine öğrenmesi gibi tekniklerle analiz edilerek karar destek
sistemlerinin ortaya çıkması hedeflenmektedir.
        </p>
      </sec>
    </sec>
    <sec id="sec-4">
      <title>Referanslar</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Erl</surname>
            ,
            <given-names>T.</given-names>
          </string-name>
          :
          <article-title>SOA Design Patterns</article-title>
          .
          <source>Pearson Education</source>
          , Boston, MA, USA (
          <year>2009</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Newman</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          : Building Microservices: Designing
          <string-name>
            <surname>Fine-Grained Systems. O'Reilly Media</surname>
          </string-name>
          ,
          <volume>1st</volume>
          <fpage>edn</fpage>
          . (
          <year>2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3. https://www.iiconsortium.org/vertical-markets/energy-utility.htm,
          <source>Last Accessed November</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kazman</surname>
            ,
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Klein</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clements</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          : ATAM:
          <article-title>Method for Architecture Evaluation</article-title>
          ,
          <source>TECHNICAL REPORT CMU/SEI-2000-TR-004.</source>
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Cervantes</surname>
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kazman</surname>
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Designing Software Architectures A Practical Approach</article-title>
          , Addison-Wesley,
          <article-title>(</article-title>
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Bass</surname>
            <given-names>L.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Clements</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kazman</surname>
          </string-name>
          , R.:
          <source>Software Architecture in Practice</source>
          , 3rd ed.,
          <source>Addison-Wesley</source>
          ,
          <article-title>(</article-title>
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Byrnes</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kyratzoglou</surname>
            ,
            <given-names>I.</given-names>
          </string-name>
          :
          <article-title>Applying Architecture Tradeoff Assessment Method (ATAM) As Part Of Formal Software Architecture Review</article-title>
          ,
          <source>Technical Report 07- 0094</source>
          , The MITRE Corporation, (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Kutluca</surname>
          </string-name>
          , H. Emre Çetin, İ.,
          <string-name>
            <surname>Çakır</surname>
            ,
            <given-names>U.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kılıç</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          :
          <string-name>
            <given-names>GEMKOMSİS</given-names>
            <surname>Savaş Yönetim Sistemi Yazılımının AR-GE Projesi Olarak</surname>
          </string-name>
          <string-name>
            <surname>Geliştirilmesi</surname>
          </string-name>
          ,
          <article-title>Deniz Platformları için Sunduğu Ortak Altyapı ve Sahil Güvenlik Arama Kurtarma Gemisi Uygulaması, Yazılım Kalitesi ve Yazılım Geliştirme Araçları Sempozyumu</article-title>
          ,
          <string-name>
            <surname>İstanbul</surname>
          </string-name>
          (
          <year>2008</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>Uyanıksoy</surname>
            ,
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Oğuztüzün</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Yazıcı</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          :
          <article-title>Bir Çoklu Ortam Veri Yönetim Sistemi Mimarisinin ATAM ile Değerlendirilmesi, Ulusal Yazılım Mühendisliği Sempozyu</article-title>
          ,
          <string-name>
            <surname>İzmir</surname>
          </string-name>
          (
          <year>2013</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Toth</surname>
            ,
            <given-names>S.:</given-names>
          </string-name>
          <article-title>An Inverse Evaluation of Netflix Architecture Using ATAM</article-title>
          ,
          <source>SEI Architecture Technology User Network Conference</source>
          , San Diego (
          <year>2016</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Bellomo</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gorton</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kazman</surname>
            <given-names>R.</given-names>
          </string-name>
          :
          <article-title>Toward Agile Architecture: Insights from 15 Years of ATAM Data</article-title>
          , IEEE Software , (
          <year>September 2015</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12.
          <string-name>
            <surname>Ambler</surname>
            <given-names>S.</given-names>
          </string-name>
          , Disciplined Agile Delivery:
          <article-title>A Practitioner's Guide to Agile Software Delivery in the Enterprise</article-title>
          , IBM Press, (
          <year>2012</year>
          ).
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13. ISO IEC 25010:
          <year>2011</year>
          , https://www.iso.org/standard/35733.html,
          <source>last visited November</source>
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>
          14.
          <string-name>
            <given-names>DMTF</given-names>
            <surname>Common Information</surname>
          </string-name>
          <article-title>Model (CIM)</article-title>
          . http://dmtf.org/standards/cim, Last Accessed November
          <year>2018</year>
          .
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>