<!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>Ardışıl Devrelerin Yazılım ile Model Tabanlı Sınanması</article-title>
      </title-group>
      <contrib-group>
        <contrib contrib-type="author">
          <string-name>Onur Kılınççeker</string-name>
          <xref ref-type="aff" rid="aff0">0</xref>
        </contrib>
        <aff id="aff0">
          <label>0</label>
          <institution>University of Paderborn</institution>
          ,
          <addr-line>Paderborn</addr-line>
          ,
          <country country="DE">Germany</country>
        </aff>
      </contrib-group>
      <fpage>338</fpage>
      <lpage>341</lpage>
      <abstract>
        <p>Özet. Bu çalışmanın amacı, ardışıl devrelerin (sequential circuits) ölçeklenebilir düzenli ifadeler (regular expression) ile modellenmesi ve bu ölçeklenebilir model aracılığı ile sınanmasıdır (testing). Sınama işlemi için model tabanlı sınama dizileri (test sequence) kullanılacaktır. Devrenin modellenmesi için hedeflenen hatalar aracılığı ile durum uzayı (state space) sınırlandırılmaktadır. Böylece elde edilen sınırlandırılmış uzayda tekrardan kısmi olarak modellenen devre hem sınama hemde analiz amacıyla kullanılabilmektedir. Devrenin hedeflenen hatalara karşı sınanması esnasında sınama desenlerinin elde edilmesi maliyeti ve kalitesi gözönünde bulundurulması gerekmektedir. Sınama maliyetini azaltırken sınama desenlerinin kalitesini yani hataları kapsama oranının arttırılması soyut modellerin sınırlandırılmış durum uzayında kullanımı ile mümkün olmaktadır. Devrenin sınırlandırılmış durum uzayında düzenli ifadelerle modellenmesi ve bahsi geçen sınama dizileri elde etmek için kullanımı ümit verici sonuçlar vermektedir.</p>
      </abstract>
    </article-meta>
  </front>
  <body>
    <sec id="sec-1">
      <title>-</title>
      <p>
        Model tabanlı yaklaşımların sınama için kullanımında karşılaşılan en ciddi
problemlerden biri durum uzayı patlaması (state space explosion) veya diğer bir
deyişle durum patlamasıdır (state explosion). Günümüz ardışıl devrelerinin
sınanmasında bu problem halen güncelliğini korumaktadır. Bu problem özellikle kapı
seviyesinde verilen sıralı devrelerin durum geçiş çizgelerinin(state transition graph)
veya sonlu durum makinalarının(finite state machine) elde edilmesi aşamasında
ortaya çıkmaktadır ve bu modellerin saklanması küçük devreler haricinde büyük
miktarda bellek kullanımını gerektirmektedir [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Literatürde bu problemi aşabilmek
için çeşitli yöntemler ileri sürülmektedir. Bunlardan ilki modelin kısmi olarak
saklanması iken [
        <xref ref-type="bibr" rid="ref2">2</xref>
        ] bir diğeri durumlar arası ulaşılabilirlik verisinin modeli
kapsayacak şekilde küp kümeleri ile saklanmasıdır [
        <xref ref-type="bibr" rid="ref3">3</xref>
        ]. Mevcut hataların sınana-bilir
olması durumunda bahsedilen modellerin kullanımı elde edilen sınama dizilerinin en
kısa olmasını garanti etmektedir [
        <xref ref-type="bibr" rid="ref1">1</xref>
        ]. Ayrıca elde edilen modeller denk hataların
tespiti, devrenin doğrulanması (verification) ve fazlalık tanımlama (redundancy
identification) ve kaldırma (removal) gibi çeşitli uygulama alanları bulmaktadır.
      </p>
      <p>Özetle, mevcut çalışmada kısmi olarak oluşturulan sonlu durum makinaları ve
ardından elde edilen ölçeklenebilir düzenli ifadeleri ilerleyen aşamalarda devrenin
sınanması veya sınama devresinin otomatik olarak elde edilmesi için
kullanılmaktadır. Şekil 1’de elde edilen sınama dizilerinin devrenin sınanması için
uygulaması görülmektedir. Burada ileri sürülen yöntem mevcut sıralı devrenin ön
sentezli halinde donanım tanımlama dili (hardware description language) olan Verilog
kodu ile verilen halinin soyut sözdizim ağaçlarına (abstract syntax tree) gövdelenmesi
ile başlamaktadır. Gövdelenen kod devrenin aynı zamanda boole fonksiyonları ile
gösterimine olanak sağlamaktadır ve ayrıca hatalı devrelerin yani mutantların elde
edilmesi için kullanılmaktadır. Sınama desenlerinin elde edilmesine değin devam
eden tüm süreçler yazılım ile gerçekleştirilmektedir. Bir sonraki bölümde yöntem
detaylıca anlatılmakdır.</p>
      <p>Şekil 1. Devrenin Sınanması
2</p>
    </sec>
    <sec id="sec-2">
      <title>Yöntem</title>
      <p>Mevcut çalışmada durum patlaması problemine çözem olarak hata tabanlı buluşsal
bir yöntem ileri sürülmektedir. Bunun için hata içermeyen (fault-free) devre ile hata
içeren (faulty) devre paralel bir yaklaşımla sonlu durum makinaları elde edilmektedir.
Şekil 2’de görüldüğü gibi yöntemin ilk aşaması devre tanımlama dili olarak verilen
sınama altındaki tasarımdan (design under test) soyut sözdizim ağacı ve kablo
listesinin (wire list) elde edilmesidir. Kablo listesi soyut sözdizim ağaçları üzerindeki
hata enjekte edilecek yerleri belirlemektedir. Böylece hata enjekte edilerek hata içeren
mutant boole fonksiyonlar elde edilmektedir. Şekil 2’de görüldüğü gibi bu
mutantların birbirine veya hata içermeyen boole fonksiyonuna denk olanları
elenmektir.Girişleri paralel olarak beslenen bu hata içermeyen ve içeren mutant
devrelerin çıkış değerleri gözlenmektedir. Ne zamanki herhangi bir veya birden fazla
hatalı devre çıktıları beklenen doğru değerlerle farklılık gösterirse hatalı devre veya
devreler listeden çıkarılmakta ardından farklılık gösterdiği durumlar
işaretlenmektedir.</p>
      <p>Şekil 2. Aşama 1-3</p>
      <p>Aynı durumlarda işaretlenen birden fazla hata denk hatalar olarak
tanımlanmaktadır. Aynı işlem listede hatalı devre kalmayana kadar işletilmektedir.
Bazı ardışıl devrelerin karmaşıklık doğası gereği belli zaman aralığında çıkışlarında
farklılık tespit edilememektedir. Bu tür durumlar için iki temel yaklaşım ileri
sürülmektedir. Bunlardan ilkinde listede arta kalan hatalar artık hatalar olarak
işaretlenmektedir. İkincisinde ise en son tespit edilen durum başlangıç durumu olarak
işaretlenmekte ve aynı işlem bu artık hatalar için tekrarlanmaktadır. İkinci durum
yaklaşımının sonunda eğer halen artık hatalar kalırsa aynı işlem tekrarlanmakta ve en
son durum başlangıç durumu olarak işaretlenmektedir. Bu yaklaşım durum patlaması
problemine bir çözüm olarak düşünülmekte ancak zaman karmaşıklığı açısından halen
karmaşık ardışıl devreler için dezavantaj taşımaktadır.</p>
      <p>Şekil 3. Aşama 4-6
Şekil 3’te görüldüğü gibi kısmi olarak elde edilen hata içeren ve içermeyen sonlu
durum makinaları düzenli ifadelere dönüştürülmektedir. Dönüşüm esnasında da
makina durumlar arasındaki bir takım fazlalık geçişler (transition) elenmekte ve
böylece model saflaştırılmaktadır (model refinement). Son aşamada elde edilen
düzenli ifadelerden sınama takımları (test suite) elde edilmekte ve ardından bu
takımlar sıkıştırma (compaction) işleminden geçirilmektedir. Burada iki adet sınama
takımının elde edilmesi son aşamada bu takımları karşılaştırmaya olanak
sağlamaktadır. Ayrıca elde edilen kısmi durum makinalarından sınama dizileri elde
etmek mümkün iken burada daha soyut (abstract) bir modele dönüşüm (model
transformation) yapılmasının ana sebebi sınama dizilerini elde etmenin zaman
karmaşıklığını azaltmaktır. Ayrıca son aşamada elde edilen sınırlandırılmış düzenli
ifadeler devrenin analizinede olanak sağlamaktadır. Bahsedildiği üzere bu çalışmada
iki ana amaç verilen devrenin sınırlandırılmış düzenli ifadelerle gösterilmesi ve bu
ifadeler yardımıyla sınama dizileri elde edilmesidir.</p>
    </sec>
    <sec id="sec-3">
      <title>Kaynaklar</title>
    </sec>
  </body>
  <back>
    <ref-list>
      <ref id="ref1">
        <mixed-citation>
          1.
          <string-name>
            <surname>Wu</surname>
          </string-name>
          , Qingwei, and
          <string-name>
            <surname>Michael</surname>
            <given-names>S.</given-names>
          </string-name>
          <string-name>
            <surname>Hsiao</surname>
          </string-name>
          .
          <article-title>"Efficient sequential atpg based on partitioned finitestate-machine traversal,"</article-title>
          <source>Test Conference</source>
          ,
          <year>2003</year>
          . Proceedings. ITC 2003. International , vol.
          <volume>1</volume>
          , no., pp.
          <volume>281</volume>
          ,
          <issue>289</issue>
          , Sept.
          <fpage>30</fpage>
          -Oct.
          <volume>2</volume>
          ,
          <year>2003</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref2">
        <mixed-citation>
          2. Ma,
          <string-name>
            <surname>Hi-Keung</surname>
            <given-names>Tony</given-names>
          </string-name>
          , Srinivas Devadas, and
          <string-name>
            <surname>Alberto</surname>
          </string-name>
          Sangiovanni-Vincentelli.
          <article-title>"Test generation for sequential circuits." Computer-Aided Design of Integrated Circuits and Systems</article-title>
          ,
          <source>IEEE Transactions on 7.10</source>
          (
          <year>1988</year>
          ):
          <fpage>1081</fpage>
          -
          <lpage>1093</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref3">
        <mixed-citation>
          3.
          <string-name>
            <surname>Ghosh</surname>
            , Abhijit, and
            <given-names>Srinivas</given-names>
          </string-name>
          <string-name>
            <surname>Devadas</surname>
          </string-name>
          .
          <article-title>"Test generation and verification for highly sequential circuits." Computer-Aided Design of Integrated Circuits and Systems</article-title>
          ,
          <source>IEEE Transactions on 10.5</source>
          (
          <year>1991</year>
          ):
          <fpage>652</fpage>
          -
          <lpage>667</lpage>
          .
        </mixed-citation>
      </ref>
      <ref id="ref4">
        <mixed-citation>
          4.
          <string-name>
            <surname>Cho</surname>
          </string-name>
          ,
          <string-name>
            <surname>Hyunwoo</surname>
          </string-name>
          , et al.
          <article-title>"ATPG aspects of FSM verification</article-title>
          ."
          <string-name>
            <surname>Computer-Aided Design</surname>
          </string-name>
          ,
          <year>1990</year>
          . ICCAD-
          <volume>90</volume>
          . Digest of Technical Papers.,
          <source>1990 IEEE International Conference on. IEEE</source>
          ,
          <year>1990</year>
          .
        </mixed-citation>
      </ref>
      <ref id="ref5">
        <mixed-citation>5. http://www.scaledagileframework.com.</mixed-citation>
      </ref>
      <ref id="ref6">
        <mixed-citation>6. https://www.atlassian.com/software/jira.</mixed-citation>
      </ref>
    </ref-list>
  </back>
</article>