<!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>Bile‡en Modellerinde De§i‡kenlik Ynetimi Yakla‡mlarnn ncelenmesi</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Muhammed ˙a</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>r Kaya</string-name>
          <email>mckaya@ceng.metu.edu.tr</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Alper Karamanlo</string-name>
          <email>alperk@ceng.metu.edu.tr</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Mahdi Saeedi Nikoo</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Sina Entekhabi</string-name>
          <email>entekhabi@ceng.metu.edu.tr</email>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Selma Slo</string-name>
          <email>selma@sosoft.com.tr</email>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <contrib contrib-type="author">
          <string-name>Ali H. Do</string-name>
          <xref ref-type="aff" rid="aff2">2</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>Spark Kalibrasyon Hizmetleri</institution>
          ,
          <addr-line>Ankara, Trkiye</addr-line>
        </aff>
        <aff id="aff1">
          <label>1</label>
          <institution>im Teknolojileri</institution>
          ,
          <addr-line>Ankara, Trkiye</addr-line>
        </aff>
        <aff id="aff2">
          <label>2</label>
          <institution>u Teknik niversitesi</institution>
          ,
          <addr-line>Ankara, Trkiye</addr-line>
        </aff>
      </contrib-group>
      <fpage>502</fpage>
      <lpage>513</lpage>
      <abstract>
        <p>zet Bu al‡mada daha nce bile‡en modelleri zerine yaplm‡ bir yazn taramas al‡masnn sonucunda ortaya kan modellerde de§i‡kenlik ynetimi kabiliyeti ara‡trlmaktadr. Yazarlar tarafndan bu do§rultuda kapsaml bir 'Sistematik Yazn Taramas' (SLR) al‡mas yaplmaktadr, bu al‡mann ara bulgular olarak da faydal bilgiler ortaya km‡tr ve bu bilgiler n de§erlendirmeler olarak bu makalede sunulmaktadr. 24 bile‡en modeli zerinde al‡ma yaplm‡ ve genelde bu modellerde de§i‡kenlik ynetiminin yeterince desteklenmedi§i gzlemlenmi‡tir. Makale, bile‡en modeli de§erlendirmelerini sunduktan sonra de§i‡kenlik konusunda baz nerileri de dile getirmektedir.</p>
      </abstract>
      <kwd-group>
        <kwd>Anahtar Kelimeler</kwd>
        <kwd>bile‡en modeli</kwd>
        <kwd>de§i‡kenlik modeli</kwd>
        <kwd>de§i‡kenlik ynetimi</kwd>
        <kwd>yazlm bile‡eni</kwd>
      </kwd-group>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>Giri‡</title>
      <p>
        Gnmzde tekrar kullanlabilir bile‡enleri biraraya getirerek olu‡turulan
sistemlerin says gittike artmaktadr. Yazlm bile‡enleri daha kompleks sistemleri
olu‡turmak zere bir araya getirilen yap ta‡lardr. Bu karma‡k ve byk apl
sistemleri gerekle‡tirmek iin ok sayda bile‡en modeli nerilmi‡tir. Ancak bu
yakla‡mlarn ba‡arl saylmalar iin sistematik bir tekrar kullanm
desteklemeleri, kabul edilebilir bir srede tamamlamay sa§lamas ve kalite isterlerini
kar‡lamalar beklenmektedir. Bile‡en tabanl bir sistemin geli‡tirme srecinde
tekrar kullanm desteklemek iin hem ortak paralarn hem de de§i‡ken
paralarn do§ru ifade edilmesi gerekir [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ].
      </p>
      <p>Di§er taraftan, yazlm rn hatlarnda yaygnca faydalanlan ortaklk ve
de§i‡kenlik (commonality and variability) kavramlarnn modellemesinin ne derece
etkin oldu§u bilinmektedir. De§i‡kenli§in etkin bir ‡ekilde ynetilmesi sonucunda
yeniden kullanm ynelimli verimlili§in en yksek dzeylerde ve kurumsal bir
tabanda planlandrlm‡ olarak elde edilmesi hedeenebilir.</p>
      <p>
        De§i‡kenlik, yazlm rn hatlarnda oldu§u gibi, verimli bile‡imsel sistemler
elde etmek iin kullanlmas gereken nemli bir kavramdr. Ortaklk ve
de§i‡kenlik yazlm rn hatlarnn kavramsal temelini olu‡turmaktadr. Alan modeli
belirli bir olgunlu§a ula‡t§nda, rn mhendisli§i iin ortaklk kavramn
kullanmak daha az aba gerektirir. Ancak rnn belirtilmesi ve in‡asna do§ru
de§i‡kenlik ok nemli bir yere sahip olur. rn mhendisli§inin verimlili§ini
etkileyen en nemli faktrlerden biri ba§lanma zamanlarn gz nne alarak
de§i‡kenli§i ynetebilmektir [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ].
      </p>
      <p>Bile‡enler, sa§ladklar tekrar kullanm teknolojisiyle yazlm geli‡tirmenin
nemli bir unsuru haline gelmi‡lerdir. Bu al‡ma temel olarak bile‡en tabanl
yazlm geli‡tirmede de§i‡kenli§in kullanmn ara‡trmaktadr. De§i‡kenlik
kullanmn yaygnla‡trmak ve ilerletmek iin ncelikle var olan yakla‡mlarn
incelenmesi gerekir. Bu nedenle bu al‡mada ncelikle e‡itli bile‡en modelleri
iin de§i‡kenli§in ele alnma durumu ara‡trlm‡tr. Uzun vadede hedef, bile‡en
tabanl yakla‡mlarda etkin de§i‡kenlik ynetimi sa§layacak kabiliyetlerin
geli‡tirilmesidir.</p>
      <p>
        Crnkovic vd. tarafndan yaplan literatr al‡masnda [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ] bir bile‡en
modelinin tanmlamas yaplm‡ ve var olan yakla‡mlardan bu tanmlamaya uyan
24 model oldu§u belirtilmi‡tir. Ele alnan modeller ve snandrma kriterlerine
gre modellerin kar‡la‡trma tablolarna [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]’ten ula‡labilir. Bu al‡mada [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]’teki
bile‡en modelleri referans alnm‡ ve hangilerinin de§i‡kenli§i destekledi§i
ara‡trlm‡tr. De§i‡kenlik deste§i olan modellerin hangi yakla‡mlarla modelleme
yaptklar incelenmi‡tir.
      </p>
      <p>
        Referans al‡ma [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ], inceledi§imiz kadaryla bile‡en modellerini snayan en
gncel al‡madr. ˙al‡mamzda, referans al‡mann yaynland§ tarihten sonra
nerilen bile‡en modellerinin, yine belirtilen snandrma kriterlerine uygunlu§u
ba‡ka bir al‡ma konusu olarak de§erlendirilmi‡ ve mevcut bile‡en modellerinin
de§i‡kenlik destekleri ara‡trlm‡tr.
2
      </p>
    </sec>
    <sec id="sec-2">
      <title>De§i‡kenlik</title>
      <p>
        Yazlm rn hatlarnn kullanm iin nerilen Nitelik Modeli (Feature Model)
kavram, Kang [
        <xref ref-type="bibr" rid="ref4">4</xref>
        ] tarafndan ortaya atlm‡ ve ksa zamanda bu modellerin daha
kapsaml versiyonlar geli‡tirilmi‡tir. Farkl endstri alanlarnda yaygnca
uygulama alan bulan yazlm rn hatlar ve dolays ile Nitelik Modelleri, de§i‡kenlik
modellemesi konusunda bir nc olarak ortaya km‡tr. Nitelik modelleri
ierisinde rgn olarak modellenen de§i‡kenlik, ciddi projelerde ok ksa zamanda
hem nitelik modelinin fazlaca bymesi ve karma‡kla‡mas hem de
de§i‡kenli§in bu karma‡klk ierisinde ve ayrca kendi karma‡kl§ ile ele alnmasnn
zorluklarn ortaya koymu‡tur. Bu gzlemin sonucu olarak de§i‡kenli§i ayrca
modelleyen yakla‡mlar belirmi‡tir.
      </p>
      <p>
        De§i‡kenlik modellemesi konusunda nc kabul edilebilecek iki yakla‡m
olarak OVM [
        <xref ref-type="bibr" rid="ref5">5</xref>
        ] ve Covamof’tan [
        <xref ref-type="bibr" rid="ref6">6</xref>
        ] sz edilebilir. Nitelik modelleri de rgn olarak
kapsaml bir de§i‡kenlik modeli iermektedir. Daha sonra birka hatr saylr
de§i‡kenlik modeli de ortaya km‡tr, ancak halen en ok bu iki model
kullanlmaktadr. De§i‡kenlik modellerinde aranan nitelikler olarak:
1. Kendi ba‡na ayr bir model olmas,
2. Ba§lanma zamannn (rne§in tasarm, derleme, ykleme gibi zamanlarnda
de§i‡kenli§in zmlenmesi) ynetilebilmesi,
3. D‡ ve i de§i‡kenli§in modellenebilmesi,
4. De§i‡kenlikler arasnda kstlarn tanmlanabilmesi ve
5. Hiyerar‡ik de§i‡kenlik modellemesi ve de§i‡kenlik zmlenmesinin
(mmknse otomatik) yaylm
ortaya kmaktadr.
      </p>
      <p>De§i‡kenli§i modellerken tipik olarak de§i‡kenlik noktalar (variation points)
ve bu noktalarda sunulacak seenekler (variants) ele alnmaktadr. Ayrca,
nitelik modellerinde bulunan kst ba§lantlar da de§i‡kenlikleri iererek daha
geni‡letilmi‡ bir erevede ele alnmaldr. Bir de§i‡kenlik noktasnda yaplacak bir
tercihin, sistemin farkl noktalarnda hangi seeneklerin ierilme veya
yasaklanmasna neden olaca§ model tarafndan desteklenmelidir.
3</p>
    </sec>
    <sec id="sec-3">
      <title>Bile‡en Tabanl Yazlm</title>
    </sec>
    <sec id="sec-4">
      <title>Geli‡tirme</title>
      <p>
        Bile‡en tabanl yakla‡mlar, yeniden kullanlabilir yap ta‡lar, yani bile‡enlerin
kullanlmas ile karma‡k ve byk lekli yazlm sistemlerinin gerekle‡meleri
iin kullanlmaktadr. Bile‡en Tabanl Yazlm Mhendisli§i (CBSE), ba§msz
bile‡enlerin kullanlmas ile gev‡ek ba§l sistemleri tanmlama, modelleme ve
uygulama konularnda sreler ve metodolojiler sunmaktadr. 1990’lardan itibaren,
Bile‡en Tabanl Yazlm Geli‡tirme (CBSD) yakla‡mnn temel kri, nceden
olu‡turulmu‡ yazlm bile‡enlerini entegre ederek byk sistemlerin in‡a edilmesi
olmu‡tur. Bile‡enler, uygulama ayrntlarn gizleyebilirken i‡levlerini ve
davran‡larn gsterir arayzler sunmaktadrlar. Belirtilen arayzlerin kullanlmas ile
bile‡enler bile nc parti bile‡enlerin tmle‡tirilmesi yoluyla daha kolayca
kurumlandrlabilir. Bile‡en teknolojileri farkl platformlarda olgunla‡rken ilk gze
arpan sunumlar Szypersky [
        <xref ref-type="bibr" rid="ref7">7</xref>
        ] tarafndan yaynlanan bir kitapla 1995 ylnda
yazlm geli‡tiricilerin dikkatine sunulmu‡tur. Bile‡enlerin yalnzca bir teknoloji
de§il, temel bir ynelim kavram olarak da ele alnmas nerilmi‡tir [
        <xref ref-type="bibr" rid="ref8">8</xref>
        ]. Nesne
yneliminde nasl gereksinimler dzeyinden ba‡lanarak her kavram nesne snar
ile modelleniyorsa, bile‡ene ynelik bir yakla‡mda da soyut ve somut dzeyleri
de kapsamak zere her kavram bile‡enlerle modelleme kri ne atlm‡tr.
Bile‡en teknolojileri, kod yazmadan geli‡tirme yapma paradigmasn destekleyen
teknolojiler olarak ele alnm‡tr. Bu yakla‡m, problem tanmnn elde
edilmesinin hemen ardndan problemin alt paralarnn, ‘soyut bile‡enler’ modellenerek
bir zm temsili ile e‡lenmeleri ve daha sonra bu soyut bile‡enlerin mevcut
bile‡enlerle gereklenmelerini nermektedir. Soyut tanmlar ile mevcut bile‡enler
arasndaki uyumsuzluklar ise modeldeki ayr‡trma ve son are olarak da
bile‡en uyarlama/geli‡tirme etkinlikleri ile zmlenmelidir. Yazlm sistemleri iin
talep geli‡ti§i srece byk boyutta ve daha karma‡k gereksinimlerin yeniden
kullanlabilirlik ve bile‡en ynetimi ile kar‡lanmas gittike kanlmaz hale
gelmektedir.
4
      </p>
    </sec>
    <sec id="sec-5">
      <title>Mevcut Bile‡en Modellerine Bak‡</title>
      <p>
        Bile‡en modelleri, tmle‡ik birle‡tirme ortamlarnca desteklenmek zere farkl
ara reticileri tarafndan ve ara‡trmaclar tarafndan nerilmi‡tir. nceleri iki
de§i‡ik modelden sz edilmi‡ ve hala bu modellerin etkinli§i devam etmekte
ise de zamanla fazla sayda bile‡en modeli ortaya km‡tr ve bu say hala
artmaktadr. Di§er taraftan, nitelik modellerinin kullanlmaya ba‡lamasnn
ardndan farkl de§i‡kenlik modelleri de retilmektedir. Bile‡en modelleri, UML gibi
standartla‡m‡ modelleme aralarn da etkilemi‡tir. rne§in arayz trlerinin
tanmlanmas nce bile‡en modellerinde sonra UML’de ayn sembolleri
kullanarak gerekle‡tirilmi‡tir. UML aralar, kendilerini ‘nesneye ynelik’ olmann
yansra, ‘bile‡en tabanl’ olarak da tantabilmektedirler. Bu tantmn anlam,
esas olarak nesne kavram ynelimi ile modeller geli‡tirilmekte, ancak baz alt
problemler iin hazr zmlere mimari tasarmda yer verilebilmesidir. Farkl
soyutlama dzeylerini ele alan, farkl kapsaml bile‡en modelleme yakla‡mlar ve
bunlar destekleyen aralar bulunmaktadr. Temel hedeerini gz nne alarak,
bir modelden yola kld§nda gerekecek bile‡enlerin bulunup uyarlanp
birle‡tirilmesi admlarnn aralar ile desteklenmesi nemli olmaktadr. Bile‡enler
yaplar asndan belirli bir uygulama sahasna yneliktirler. Bu konuda en erken ve
ba‡arl bir rnek, Graksel Arayz Tasarm alandr. ˙o§u geli‡tirme ortam,
kaydrma ubu§u, ana men, d§me gibi standart ekran elemanlarn bile‡enler
olarak sunmu‡lardr. Dolays ile nceleri ok vakit alan kullanc arayz
geli‡tirme i‡lemleri artk kod yazmadan yaplabilmektedir. nceleri platform
dzeyinde zmler aranan bile‡en teknolojileri, gnmzde farkl uygulama sahasna
zel olarak ba‡ar gstermektedirler. rne§in AUTOSAR [
        <xref ref-type="bibr" rid="ref9">9</xref>
        ], otomotiv alannda
bile‡en tabanl tasarm yapmak iin yaygnca kullanlan bir bile‡en modelidir.
Bile‡en modellerinin nemli baz zelliklerini a‡a§daki gibi zetlemek
mmkndr:
      </p>
      <sec id="sec-5-1">
        <title>Kapsadklar soyutlama dzeyleri, Gerekle‡tirme deste§i verecek aralarn bulunmas, Uygulama alan ve De§i‡kenlik ynetimi.</title>
        <p>
          Referans makalemiz [
          <xref ref-type="bibr" rid="ref3">3</xref>
          ]’te listelenen bile‡en modellerinden AUTOSAR ve
KobrA [
          <xref ref-type="bibr" rid="ref10">10</xref>
          ] farkl dzeylerde de§i‡kenlik yakla‡mlar iermektedir. Blm 4.1
ve 4.2’de srasyla bu modellerdeki yakla‡mlara ksaca de§inilmi‡tir. Di§er
modellerde de§i‡kenlik ynetimi ile ilgili beklentileri kar‡layacak dzeyde bir
modelleme deste§i oldu§u gzlemlenmemi‡tir. Ancak baz modellerin de§i‡kenli§e
benzer yakla‡mlar vardr. Bunlara blm 4.3’te de§inilmi‡tir. Referans
makalemizde yer alan ancak bu al‡mada ad gemeyen di§er bile‡en modellerinde ise
de§i‡kenlik yakla‡m ya da benzer bir yakla‡m saptanmam‡tr.
4.1
        </p>
      </sec>
      <sec id="sec-5-2">
        <title>AUTOSAR De§i‡kenli§i</title>
        <p>
          AUTOSAR otomotiv alanndaki gml sistemlerde kullanlmak zere
geli‡tirilmi‡tir. Temel amac ortamdan ba§msz ve ta‡nabilir yazlm bile‡enleri
olu‡turmaktr. AUTOSAR’n hibir srmnde tam anlamyla de§i‡kenlik ynetimi
desteklenmemi‡tir. Ancak 4.0 srmnden sonra de§i‡kenli§i kullanan bir
yakla‡m getirilmi‡tir. 4.0’dan nceki baz srmlerde (3.x) model elemanlarna ek
bilgiler eklenerek ve araca zel olmak zere de§i‡kenlik kullanlabilir [
          <xref ref-type="bibr" rid="ref11">11</xref>
          ]. 4.0
ve sonraki srmlerde de§i‡kenlik kullanm nitelik modelleriyle kstl da olsa
tanmlanm‡tr. Bu kstlara rnek olarak elemanlar aras ba§llklarn
gsterilememesi verilebilir. 4.0 srmnde dahi metamodelde de§i‡kenlik ynetimi
d‡nlmemi‡tir. Ancak d‡ardan kullanlacak pure::variants [
          <xref ref-type="bibr" rid="ref12">12</xref>
          ] gibi baz aralarla
de§i‡kenlik ynetilebilir.
4.2
        </p>
      </sec>
      <sec id="sec-5-3">
        <title>KobrA De§i‡kenli§i</title>
        <p>KobrA bile‡en tabanl geli‡tirme iin kullanlan model gdml (model-driven)
bir yakla‡mdr. KobrA bile‡en modeli UML modelini karar modeli ile
birle‡tirerek bile‡en de§i‡kenli§ini tanmlamaktadr. Bir karar modeli en az bir
hareket aksiyomu ieren formel bir sistemdir. KobrA’da genel de§i‡kenlik modelinin
gsterimi uygulamadan ba§mszdr ve en uygun geli‡tirme metodunun
seilebilmesi mmkn olmaktadr. Her bir de§i‡kenlik noktas bir karara ba§ldr ve
her bile‡en yapsal, davran‡sal ve fonksiyonel modelin d‡nda karar modeli ile
ili‡kilendirilmektedir. Burada tanmlanan de§i‡kenlik ynetimi yaz tabanldr.
Bu da de§i‡kenlik ynetimini kimi zaman ara deste§ine ra§men karma‡k hale
getirebilmektedir.
4.3</p>
      </sec>
      <sec id="sec-5-4">
        <title>Di§er Modellerde De§i‡kenlik</title>
        <p>
          OSGi [
          <xref ref-type="bibr" rid="ref13">13</xref>
          ], bile‡en-tabanl geli‡tirim iin tekrar kullanlabilirli§i sa§layan
dinamik ve modler bir mimari sunan bir yakla‡mdr. Geli‡tirilmi‡ olan paket ve
snarn zaman iinde de§i‡imini ve yenilerinin sisteme dahil edilebilmesini
kolaylkla ynetebilmek iin ‘yazlm y§n’ (bundle) ad verilen bir modl yaps
tanmlam‡tr. Yazlm y§nlar arayzlerinde kendi zelliklerini, d‡arya
verdi§i servisleri, d‡ardan istedi§i ve ba§ml oldu§u servisleri tanmlar. OSGi’nin
gl yan ise al‡an uygulama durdurulmadan dinamik olarak yazlm
y§nlarnn ekleme, karma, ykleme ve kaldrma i‡lemlerine olanak sa§lamasdr.
Ancak OSGi ile entegre al‡an ayr bir de§i‡kenlik modeli bulunmamaktadr
[
          <xref ref-type="bibr" rid="ref14">14</xref>
          ].
        </p>
        <p>
          Fractal [
          <xref ref-type="bibr" rid="ref15">15</xref>
          ], sistemlerin ve uygulamalarn tasarm, hayata geirilmesi,
da§tm ve yeniden yaplandrlmasn sa§layan modler, geni‡letilebilir ve
programlama dillerinden ba§msz bir bile‡en modelidir. Fractal modeli bile‡enlerin
dinamik olarak yeniden yaplandrlmasn destekler. Her bir Fractal bile‡eni,
bile‡enin yeniden yaplandrlmasn kontrol etmek iin ‘membrane’ ad verilen bir
konteyner bulundurmaktadr. Ayrca ROBOCOP [
          <xref ref-type="bibr" rid="ref16">16</xref>
          ], OpenCOM [
          <xref ref-type="bibr" rid="ref17">17</xref>
          ] ve SOFA
2.0 [
          <xref ref-type="bibr" rid="ref18">18</xref>
          ] bile‡en modellerinde de farkl ‡ekillerde dinamik yeniden yaplandrma
desteklenmektedir.
        </p>
        <p>
          Genel olarak endstriyel otomasyon alannda kullanlan IEC 61499 [
          <xref ref-type="bibr" rid="ref19">19</xref>
          ]
modelinde, d‡k soyutlama seviyesinde fonksiyon bloklarnn girdileri de§i‡tirilerek
yeniden yaplandrma sa§lanabilmektedir. Ancak bu yeniden yaplandrma
uygulama seviyesinde desteklenmemektedir [
          <xref ref-type="bibr" rid="ref20">20</xref>
          ].
        </p>
        <p>
          Koala elektronik alanndaki gml sistemlerde kullanlmak zere geli‡tirilen
bir bile‡en modeli ve mimari tanmlama dilidir [
          <xref ref-type="bibr" rid="ref21">21</xref>
          ]. Temel amac yazlmlarn
artan karma‡kl§n ve e‡itlili§ini (diversity) ynetebilmektir. Koala’da
bile‡enlerin yapsal farkll§n ynetmek iin zel bir anahtar ba§layc (switch connector)
bulunmaktadr. Burada belirtilen anahtar ba§layc, girilen veriye ba§l olarak
birden fazla ba§lantdan birini seebilme zelli§ine sahiptir. Bu zel mekanizma
mod de§i‡imini (mode switch) sa§lamaktadr.
        </p>
        <p>
          SaveCCM [
          <xref ref-type="bibr" rid="ref22">22</xref>
          ] ara kontrol sistemlerinde kullanlmak zere geli‡tirilen bir
bile‡en modelidir. Koala’da kullanlan anahtar ba§laycnn ayns bu modelde
de kullanlmaktadr.
        </p>
        <p>
          BlueArX bile‡en modeli [
          <xref ref-type="bibr" rid="ref23">23</xref>
          ] donanm maliyeti nedeniyle snrl kaynaklara
sahip otomotiv alanlar iin geli‡tirilmi‡tir. Bu model kendi yazlm bile‡enleri
tarafndan retilen oklu mod (mode) uygulamalarn destekler. Mod, anlamsal
ierik bilgisinin bir tr olarak kabul edilmektedir. Farkl modlar farkl kontrol
stratejilerini ifade eder. Bu modelde oklu mod sistemi tamamen in‡a edilmeden
BlueArX bile‡eninin modu aka tanmlanmamaktadr [
          <xref ref-type="bibr" rid="ref24">24</xref>
          ].
        </p>
        <p>
          Rubus [
          <xref ref-type="bibr" rid="ref25">25</xref>
          ] kara ta‡tlarnda bulunan gml kontrol sistemleri iin
geli‡tirilmi‡tir. Rubus’ta mod sistemin bir zelli§i olarak kabul edilir. Bile‡enlerin sabit
yaplandrlmas her bir mod iin sistem genelinde olmaktadr. COMDES-II [
          <xref ref-type="bibr" rid="ref26">26</xref>
          ]
modeli ise gerek zamanl kstlamalara sahip da§tk gml kontrol sistemleri
iin bir bile‡en tabanl yazlm erevesi tanmlamaktadr. COMDES-II farkl
modlarda bile‡en yaplandrlmasn sa§lamak iin bir durum makinesi
kullanmaktadr [
          <xref ref-type="bibr" rid="ref27">27</xref>
          ].
4.4
        </p>
      </sec>
      <sec id="sec-5-5">
        <title>Gzlemler</title>
        <p>Ele alnan bile‡en modellerinde yazlm retim hatlarnda ula‡lm‡ bulunan
olgunluk seviyesine yakn bir de§i‡kenlik modellemesi bulunmamaktadr. ˙o§u
bile‡en modelinde de§i‡kenlik ele alnmam‡ken, bir ksmnda bile‡en
tmle‡tirmesinin do§al bir adm olarak ortaya kan bile‡en de§i‡tirme (tak/kar) admnn
dolayl olarak de§i‡kenlik konusunu destekledi§i grnmektedir. Ancak bu
dzeydeki bir destek, ayr bir de§i‡kenlik modelinden olan beklentileri kar‡lamak
iin yeterli de§ildir. ˙o§u bile‡en modelinin soyut dzeylerden ok kod dzeyinde
aralar ve modelleme mekanizmalar ile desteklendi§ini sylemek yanl‡ olmaz.
Karma‡kl§ ynetmek zere soyut dzeylerden ba‡layacak bir modeldense,
ksmen tasarmnn mevcut oldu§u varsaylan bir sistemin kod paralarnn hzl bir
‡ekilde bulunup birle‡tirilmesi ne km‡ gibidir. Ula‡lm‡ olan sonular ksaca
sunacak olursak:
1. Ayrk bir de§i‡kenlik modeli ile desteklenme kabiliyeti yok denecek kadar
azdr.
2. De§i‡kenlik daha ok tmle‡tirme dzeyinde ve minimal model soyutlamas
ile ele alnmaktadr.
3. De§i‡kenlikler aras kst yaylm zmlemesi eksiktir.
4. Farkl modeller aras birlikte al‡abilirlik, modellerin kod dzeyine verdikleri
nem sonucunda kaybedilen soyutlama ile birlikte zayftr.
5. Alana ynelik modellerde de§i‡kenlikler daha anlaml olarak
modellenebilecek temellere sahiptir.
5</p>
        <p>neriler
Ara‡trmada bile‡en modelleri iin de§i‡kenlik deste§inin yeteri kadar detayl
ve kavranabilir olmad§ sonucuna varlm‡tr. A‡a§daki problemler hala zm
beklemektedir:</p>
        <p>
          De§i‡kenlik kolay ynetilebilirlik iin i‡lerin ayrlmas prensibine uygun
olarak ak ve ayr bir model olarak ele alnmaldr [
          <xref ref-type="bibr" rid="ref28">28</xref>
          ]. Nitelik modelleri
problem uzayyla i iedir ve zm uzayndaki gereksinimleri kar‡lamaktan
uzaktr. De§i‡kenlik noktalar, de§i‡kenler, bunlarn arasndaki ili‡kiler ve
bile‡en tabanl yazlm unsurlaryla e‡le‡tirilmeleri di§er i‡lerden ayr
yaplmaldr.
        </p>
        <p>De§i‡kenlik geli‡tirimden analiz ve test dzeyine kadar tm yazlm
geli‡tirme srelerinde ynetilebilmelidir. Yazlm do§rulamas genellikle nitelik
modeli seviyesinde uygulanmaktadr. Ancak bile‡en modellerinin tutarll§
tasarm a‡amasnda kontrol edilmelidir.</p>
        <p>De§i‡kenlik, sistemin gerek davran‡n belirleyecek olan bile‡en
tmle‡tirilmesine de uygulanabilir olmaldr.
˙al‡trlabilir bir sistem iin bile‡enlerin yannda bir sre modeli de gerekir
ve de§i‡kenlik ynetimi bu iki farkl dnyay (bile‡enler ve sreler) tutarl
bir ‡ekilde desteklemelidir.</p>
        <p>
          De§i‡kenlik hiyerar‡ik olarak yukardan a‡a§ya olabildi§ince otomatik bir
‡ekilde zmlenebilmelidir [
          <xref ref-type="bibr" rid="ref6">6</xref>
          ].
        </p>
        <p>De§i‡kenlik; modeldeki bile‡en, ba§layc, arayz ve birle‡im unsurlarnn
tmne uygulanabilmelidir.</p>
        <p>Bu neriler gz nnde bulundurularak a‡a§daki gibi bir zm teklif
edilmektedir:</p>
        <p>
          nceki al‡malarmzdan [
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]’da COSEML dili (Component Oriented
Software Engineering Modeling Language) de§i‡kenlik ynetimi yakla‡myla
geni‡letilmi‡tir. Olu‡turulan yeni dilde (XCOSEML), COSEML’deki statik unsurlarn
yanna; ‘dinamik unsurlar’, ‘de§i‡kenlik unsurlar’, statik ve dinamik unsurlarla
de§i‡kenlik unsurlarn e‡leyen ‘e‡le‡tirme unsurlar’ eklenmi‡tir. XCOSEML
metamodeli, i‡lerin ayrlmas prensibine sadk kalnarak 3 ana paradan
olu‡turulmu‡tur. Bu paralar; ‘COSEML belirtimi’ (COSEML Specication), ‘e‡le‡tirme
belirtimi’ (Mapping between COSEML and Varibility Specications), ve
‘de§i‡kenlik belirtimidir’ (Variability Specication). ekil 1’de metamodele genel bir
bak‡ gsterilmektedir. ekil 2 metamodelin COSEML belirtimi parasn
gsterirken, ekil 3’te e‡le‡tirme ve de§i‡kenlik belirtimleri beraber gsterilmi‡tir.
Metamodelin detayl anlatm ve XCOSEML diliyle olu‡turulan rnek sistemlere
[
          <xref ref-type="bibr" rid="ref29">29</xref>
          ][
          <xref ref-type="bibr" rid="ref30">30</xref>
          ][
          <xref ref-type="bibr" rid="ref31">31</xref>
          ] al‡malarndan ula‡labilir.
        </p>
        <p>ekil 1. XCOSEML metamodeline genel bak‡.</p>
        <p>
          Yazlm do§rulamas prensibine uymak iin ise metamodele dayanarak
olu‡turulan XCOSEML modelleri iin do§rulama al‡mas yaplm‡tr. Modeller dil
dn‡myle bir model denetleme aracnn girdisine uygun hale getirilerek
al‡abilirlikleri kontrol edilmi‡tir [
          <xref ref-type="bibr" rid="ref30">30</xref>
          ][
          <xref ref-type="bibr" rid="ref31">31</xref>
          ].
        </p>
        <p>XCOSEML dilinde, ncs COSEML’de oldu§u gibi ba§layclar (connector)
birinci snf unsur olarak ele alnm‡ ve modellemeye dahil edilmi‡tir. Buna
kar‡n ba§layc tanmlamas soyut seviyede kalm‡ ve de§i‡kenlik unsurlar
ba§layclara uygulanmam‡tr. Bu al‡mamzda XCOSEML dilindeki ba§layclarn
de§i‡kenlik unsurlaryla e‡le‡tirilmesi metamodel seviyesinde gsterilmektedir.
Ba§layc ve evre unsurlarla olan ba§lantlar ekil 2’nin ‘sabit bak‡’ (Static
View) ksmnda grlebilir.</p>
        <p>Ba§layclar; verimlilik, karma‡klk, geni‡letilebilirlik gibi i‡lev-d‡
zellikler ba‡ta olmak zere sistemin karakteristi§ini belirlemede nemli rol oynar.
Bu nedenle yazlm sistemine en uygun ba§laycnn seilmesi, ya da mevcut
ba§layclarn istenen ‡ekilde dzenlenebilmesi nem kazanr. Ortam (context)
zelliklerinin ve sistemde kullanlan bile‡enlerin ba§layc seimini ya da
ba§layclarn ieri§ini kstlamas da sz konusudur. Bu konular gz nne alnarak
XCOSEML metamodelinde a‡a§daki geni‡letmeler yaplm‡tr:</p>
        <p>
          XCOSEML’de ieri§i tanmlanmam‡ olan ba§layc (Connector) kutusu,
Mehta vd. tarafndan yaplan ba§layc snandrma al‡masndaki [
          <xref ref-type="bibr" rid="ref32">32</xref>
          ] 4
temel ba§layc grevini (Ba§lant (Communication), Dzenleme
(Coordination), Dn‡trme (Conversion), Kolayla‡trma (Facilitation)) tanmlamak
zere arayzle (Interface) ba§lanm‡tr. De§i‡kenlik unsurlaryla ba§l olan
arayz sayesinde ba§laycnn, sa§lad§ etkile‡im hizmetleri iin, farkl
arayzlere sahip olmas sa§lanacak ya da bir arayz aracl§yla gsterilen
hizmetlerinin geli‡tirici tarafndan seilmesine imkan tannacaktr.
st seviyede ba§lanan bir de§i‡kenlik noktasnn ba§layc zerinde olan
etkilerinin gsterilmesi de§i‡kenlik e‡le‡tirmesi (Variability Mapping) kutusuyla
olan ba§lantyla ifade edilmektedir.
        </p>
        <p>
          Ortam ifade eden baz de§i‡kenlerin (rne§in ortam scakl§, donanm
zellikleri vb.) ba§layclarn i‡levini etkileme durumu sz konusudur. Bu durum
ba§layc ile ortam parametreleri (Context Parameters) kutusunun
ba§lanmasyla ifade edilmi‡tir.
ekil 2. XCOSEML metamodel - COSEML belirtimi. COSEML belirtimi d‡nda kalan
kutular, E‡leme Belirtimi ksmnda yer almaktadrlar.
ekil 3. XCOSEML metamodel - E‡le‡tirme ve de§i‡kenlik belirtimleri ([
          <xref ref-type="bibr" rid="ref29">29</xref>
          ]’dan
uyarlanm‡tr).
6
        </p>
      </sec>
    </sec>
    <sec id="sec-6">
      <title>Sonu</title>
      <p>
        Yaplmakta olan sistematik yazn taramas al‡masnn bir ara evresinde
bile‡enlerde de§i‡kenlik modellemesi ile ilgili nemli gzlemlerde bulunulmu‡ ve
bu konudaki yakla‡mlar ksmen iyile‡tirme nerileri ile desteklenmi‡tir.
Yazarlar daha nce nitelik modelleri ve Servis Ynelimli Mimari platformlarnda da,
burada sunulan neriler ile ilgili durum al‡malar yapm‡ olup [
        <xref ref-type="bibr" rid="ref33">33</xref>
        ] benzeri
zmlerin bile‡en modellerine de ta‡nabilece§i umulmaktadr. Bir taraftan
gelece§e ynelik olarak kapsaml yazn taramas devam etmekte ve yaknda daha
ayrntl sonulara ula‡laca§ varsaylmaktadr. Bu al‡mann sonrasnda da ilk
de§erlendirme kmesinde bulunan bile‡en modellerini a‡arak benzeri bir al‡ma,
geli‡mekte olan bile‡en modellerine de geni‡letilebilir.
      </p>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Kim S. D.</surname>
          </string-name>
          ,
          <string-name>
            <surname>Her</surname>
            <given-names>J. S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chang</surname>
            <given-names>S. H.:</given-names>
          </string-name>
          <article-title>A theoretical foundation of variability in component-based development</article-title>
          .
          <source>Information and Software Technology</source>
          , Volume
          <volume>47</volume>
          ,
          <source>Issue</source>
          <volume>10</volume>
          ,
          <issue>663673</issue>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2.
          <string-name>
            <surname>Gurp</surname>
            <given-names>J. V.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bosch</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Svahnberg</surname>
            <given-names>M.</given-names>
          </string-name>
          :
          <article-title>On the Notion of Variability in Software Product Lines</article-title>
          .
          <source>In: Proceedings of the Working IEEE/IFIP Conference on Software Architecture (WICSA '01)</source>
          . IEEE Computer Society, Washington, DC, USA (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Crnkovic</surname>
            <given-names>I.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sentilles</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Vulgarakis</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Chaudron M. R</surname>
          </string-name>
          . V.
          <article-title>: A Classication Framework for Software Component Models</article-title>
          .
          <source>IEEE Transactions on Software Engineering</source>
          .
          <volume>37</volume>
          ,
          <issue>593615</issue>
          (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Kang</surname>
            <given-names>K. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lee</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kim</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Shin</surname>
            <given-names>E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Huh</surname>
            <given-names>M.:</given-names>
          </string-name>
          <article-title>FORM: A feature-oriented reuse method with domain-specic reference architectures</article-title>
          . Ann. Softw. Eng.
          <volume>5</volume>
          ,
          <fpage>143</fpage>
          <lpage>168</lpage>
          (
          <year>1998</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>
          5.
          <string-name>
            <surname>Pohl</surname>
            ,
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bckle</surname>
          </string-name>
          , G.,
          <string-name>
            <surname>van Der Linden</surname>
            ,
            <given-names>F. J.:</given-names>
          </string-name>
          <article-title>Software product line engineering: foundations, principles and techniques</article-title>
          . Springer Science and Business
          <string-name>
            <surname>Media</surname>
          </string-name>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>
          6.
          <string-name>
            <surname>Sinnema</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Deelstra</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nijhuis</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Bosch</surname>
          </string-name>
          , J.:
          <article-title>Covamof: A framework for modeling variability in software product families</article-title>
          .
          <source>In Software product lines</source>
          , Springer,
          <volume>197213</volume>
          (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref7">
        <mixed-citation>
          7.
          <string-name>
            <surname>Szyperski</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Component software: beyond object-oriented programming</article-title>
          .
          <source>Harlow, Engl. Addison-Wesley</source>
          (
          <year>1995</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref8">
        <mixed-citation>
          8.
          <string-name>
            <surname>Dogru</surname>
            ,
            <given-names>A. H.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tanik</surname>
            ,
            <given-names>M. M.:</given-names>
          </string-name>
          <article-title>A process model for component-oriented software engineering</article-title>
          .
          <source>IEEE Softw</source>
          .
          <volume>20</volume>
          ,
          <issue>3441</issue>
          (
          <year>2003</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref9">
        <mixed-citation>
          9.
          <string-name>
            <surname>AUTOSAR (AUTomotive Open System ARchitecture</surname>
          </string-name>
          ), https://www.autosar.org
        </mixed-citation>
      </ref>
      <ref id="ref10">
        <mixed-citation>
          10.
          <string-name>
            <surname>Atkinson</surname>
            ,
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>Component-based product line engineering with UML</article-title>
          .
          <source>Pearson Education</source>
          (
          <year>2002</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref11">
        <mixed-citation>
          11.
          <string-name>
            <surname>Schulze</surname>
            ,
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Weiland</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Beuche</surname>
            ,
            <given-names>D.</given-names>
          </string-name>
          :
          <article-title>Automotive model-driven development and the challenge of variability</article-title>
          .
          <source>In: Proceedings of the 16th International Software Product Line Conference-Volume 1</source>
          , pp.
          <volume>207214</volume>
          (
          <year>2012</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref12">
        <mixed-citation>
          12. pure-systems
          <source>GmbH: pure::variants Eclipse Plugin User Guide</source>
          , (
          <year>2011</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref13">
        <mixed-citation>
          13.
          <string-name>
            <given-names>OSGi</given-names>
            <surname>Alliance</surname>
          </string-name>
          ,
          <article-title>"OSGi Service Platform Core Specication</article-title>
          ,
          <year>V4</year>
          .1,
          <issue>"</issue>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref14">
        <mixed-citation>14. OSGi Alliance, https://www.osgi.org/</mixed-citation>
      </ref>
      <ref id="ref15">
        <mixed-citation>
          15. E. Bruneton,
          <string-name>
            <given-names>T.</given-names>
            <surname>Coupaye</surname>
          </string-name>
          , J. Stefani,:
          <article-title>The Fractal Component Model Specication, The ObjectWeb Consortium</article-title>
          ,
          <source>technical report</source>
          , http://fractal.objectweb. org/specification/index. (
          <year>2004</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref16">
        <mixed-citation>
          16.
          <string-name>
            <surname>Maaskant H.: A Robust Component</surname>
          </string-name>
          <article-title>Model for Consumer Electronic Products</article-title>
          . vol.
          <volume>3</volume>
          , Springer,
          <volume>167192</volume>
          (
          <year>2005</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref17">
        <mixed-citation>
          17.
          <string-name>
            <surname>Clarke</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Blair</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Coulson</surname>
            <given-names>G.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Parlavantzas</surname>
            <given-names>N.:</given-names>
          </string-name>
          <article-title>An Ecient Component Model for the Construction of Adaptive Middleware</article-title>
          .
          <source>In: Proc. IFIP/ACM Int'l Conf. Distributed Systems Platforms</source>
          . (
          <year>2001</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref18">
        <mixed-citation>
          18.
          <string-name>
            <surname>Bures</surname>
            <given-names>T.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hnetynka</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pla'</surname>
          </string-name>
          sil F.
          <source>: SOFA 2</source>
          .
          <article-title>0: Balancing Advanced Features in a Hierarchical Component Model</article-title>
          .
          <source>In: Proc. Int'l Conf. Software Eng. Research, Management and Applications</source>
          ,
          <volume>4048</volume>
          (
          <year>2006</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref19">
        <mixed-citation>
          19.
          <string-name>
            <surname>Vyatkin</surname>
            <given-names>V.</given-names>
          </string-name>
          , Instrument Society of America:
          <article-title>IEC 61499 function blocks for embedded and distributed control systems design</article-title>
          .
          <source>ISA-Instrumentation, Systems, and Automation Society</source>
          , (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref20">
        <mixed-citation>
          20.
          <string-name>
            <surname>Froschauer</surname>
            <given-names>R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dhungana</surname>
            <given-names>D.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Gruenbacher</surname>
            <given-names>P.</given-names>
          </string-name>
          :
          <article-title>Managing the Life-cycle of Industrial Automation Systems with Product Line Variability Models</article-title>
          .
          <source>In: 34th Euromicro Conference Software Engineering and Advanced Applications</source>
          , Parma,
          <volume>3542</volume>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref21">
        <mixed-citation>
          21.
          <string-name>
            <surname>Van</surname>
            <given-names>Ommering</given-names>
          </string-name>
          ,
          <string-name>
            <given-names>R.</given-names>
            ,
            <surname>Van Der Linden</surname>
          </string-name>
          ,
          <string-name>
            <given-names>F.</given-names>
            ,
            <surname>Kramer</surname>
          </string-name>
          ,
          <string-name>
            <given-names>J.</given-names>
            <surname>Magee</surname>
          </string-name>
          ,
          <string-name>
            <surname>J.:</surname>
          </string-name>
          <article-title>The Koala component model for consumer electronics software</article-title>
          .
          <source>Computer (Long. Beach. Calif)</source>
          .
          <volume>33</volume>
          ,
          <fpage>78</fpage>
          -
          <lpage>85</lpage>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref22">
        <mixed-citation>
          22.
          <string-name>
            <surname>M. Akerholm</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Carlson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Fredriksson</surname>
            ,
            <given-names>H.</given-names>
          </string-name>
          <string-name>
            <surname>Hansson</surname>
            ,
            <given-names>J.</given-names>
          </string-name>
          <string-name>
            <surname>Hakansson</surname>
            ,
            <given-names>A.</given-names>
          </string-name>
          <string-name>
            <surname>Moller</surname>
            ,
            <given-names>P.</given-names>
          </string-name>
          <string-name>
            <surname>Pettersson</surname>
            , and
            <given-names>M.</given-names>
          </string-name>
          <article-title>Tivoli: The SAVE Approach to Component-Based Development of Vehicular Systems</article-title>
          .
          <source>J. Systems and Software</source>
          , vol.
          <volume>80</volume>
          , no.
          <issue>5</issue>
          ,
          <fpage>655</fpage>
          -
          <lpage>667</lpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref23">
        <mixed-citation>
          23.
          <string-name>
            <surname>Kim</surname>
            <given-names>J.E.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Rogalla</surname>
            <given-names>O.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Kramer</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>A.</surname>
          </string-name>
          <article-title>Haman: Extracting, Specifying and Predicting Software System Properties in Component Based Real-Time Embedded Software Development</article-title>
          .
          <source>In: Proc. 31st Int'l Conf. Software Eng</source>
          . (
          <year>2009</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref24">
        <mixed-citation>
          24.
          <string-name>
            <surname>Hang</surname>
            <given-names>Y.</given-names>
          </string-name>
          :
          <article-title>Introducing Mode Switch in Component-Based Software Development</article-title>
          . (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref25">
        <mixed-citation>
          25.
          <string-name>
            <surname>Hanninen</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Maki-Turja</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Nolin</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lindberg</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lundback</surname>
            <given-names>J.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Lundback</surname>
            <given-names>K.</given-names>
          </string-name>
          :
          <article-title>The Rubus Component Model for Resource Constrained Real-Time Systems</article-title>
          .
          <source>In: Proc. Int'l Symp. Industrial Embedded Systems</source>
          .
          <volume>177</volume>
          -
          <fpage>183</fpage>
          (
          <year>2008</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref26">
        <mixed-citation>
          26.
          <string-name>
            <surname>Ke</surname>
            <given-names>X.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Sierszecki</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Angelov</surname>
            <given-names>C.</given-names>
          </string-name>
          :
          <article-title>COMDES-II: A Component-Based Framework for Generative Development of Distributed Real-Time Control Systems</article-title>
          .
          <source>In: Proc. 13th IEEE Int'l Conf. Embedded and Real-Time Computing Systems and Applications</source>
          .
          <volume>199</volume>
          -
          <fpage>208</fpage>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref27">
        <mixed-citation>
          27.
          <string-name>
            <surname>Hang</surname>
            <given-names>Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hongwan</surname>
            <given-names>Q.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Jan</surname>
            <given-names>C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Hans</surname>
            <given-names>H.</given-names>
          </string-name>
          :
          <article-title>Mode switch handling for the ProCom component model</article-title>
          .
          <source>In: Proceedings of the 16th International ACM Sigsoft symposium on Component-based software engineering. ACM</source>
          , (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref28">
        <mixed-citation>
          28.
          <string-name>
            <surname>Metzger</surname>
            <given-names>A.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Pohl</surname>
            <given-names>K.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Heymans</surname>
            <given-names>P.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Schobbens</surname>
            <given-names>P. Y.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saval</surname>
            <given-names>G.</given-names>
          </string-name>
          :
          <article-title>Disambiguating the Documentation of Variability in Software Product Lines: A Separation of Concerns, Formalization and Automated Analysis</article-title>
          .
          <source>In: 15th IEEE International Requirements Engineering Conference (RE</source>
          <year>2007</year>
          ), Delhi.
          <volume>243253</volume>
          (
          <year>2007</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref29">
        <mixed-citation>
          29.
          <string-name>
            <surname>Kaya</surname>
            <given-names>M. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suloglu</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dogru</surname>
            <given-names>A. H.</given-names>
          </string-name>
          :
          <article-title>Variability Modeling in Component Oriented System Engineering</article-title>
          .
          <source>In: The 19th International Conference on Transformative Science and Engineering</source>
          , Business and
          <string-name>
            <given-names>Social</given-names>
            <surname>Innovation</surname>
          </string-name>
          , Kuching, Sarawak,
          <string-name>
            <surname>Malaysia.</surname>
          </string-name>
          (
          <year>2014</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref30">
        <mixed-citation>
          30.
          <string-name>
            <surname>Kaya</surname>
          </string-name>
          . M. ˙., Modeling Variability in Component Oriented Software Engineering.
          <source>MSc Thesis</source>
          , Middle East Techical University. (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref31">
        <mixed-citation>
          31.
          <string-name>
            <surname>Kaya</surname>
            <given-names>M. C.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Saeedi Nikoo</surname>
            <given-names>M.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Suloglu</surname>
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dogru</surname>
            <given-names>A. H.</given-names>
          </string-name>
          :
          <article-title>Towards Verication of Component Compositions Incorporating Variability</article-title>
          .
          <source>In: The 20th International Conference on Transformative Science and Engineering, Business and Social Innovation</source>
          ,
          <volume>202207</volume>
          . (
          <year>2015</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref32">
        <mixed-citation>
          32.
          <string-name>
            <surname>Mehta</surname>
            ,
            <given-names>N. R.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Medvidovic</surname>
            ,
            <given-names>N.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Phadke</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          :
          <article-title>Towards a taxonomy of software connectors</article-title>
          .
          <source>In: Proceedings of the 22nd international conference on Software engineering. 178187</source>
          (
          <year>2000</year>
          )
        </mixed-citation>
      </ref>
      <ref id="ref33">
        <mixed-citation>
          33.
          <string-name>
            <surname>Suloglu</surname>
            ,
            <given-names>S.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Tekinerdogan</surname>
            ,
            <given-names>B.</given-names>
          </string-name>
          ,
          <string-name>
            <surname>Dogru</surname>
            ,
            <given-names>A. H.:</given-names>
          </string-name>
          <article-title>XChor: Chreography Language For Integration of Variable Orchestration Languages</article-title>
          .
          <source>In: 3rd International Symposium on Business Modeling and Software Design</source>
          ,
          <year>2013</year>
          , Noordwijkerhout,
          <string-name>
            <surname>Netherlands.</surname>
          </string-name>
          (
          <year>2013</year>
          )
        </mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>