Stream X-Machine - Stream X-Machine

The Oqim X-apparati (SXM) - Gilbert Laycock tomonidan 1993 yil nomzodlik dissertatsiyasida kiritilgan hisoblash modeli, Texnik spetsifikatsiyaga asoslangan dasturiy ta'minotni sinash nazariyasi va amaliyoti.[1]Asoslangan Samuel Eilenberg "s X-apparati, kengaytirilgan cheklangan davlat mashinasi turdagi ma'lumotlarni qayta ishlash uchun X,[2] Stream X-Machine bir xil X-apparati xotira ma'lumotlarining turini qayta ishlash uchun Mem bog'liq kirish va chiqish oqimlari bilan Yilda* va Chiqdi*, ya'ni qaerda X = Chiqdi* × Mem × Yilda*. Stream X-Machine-ning o'tishlari φ shaklidagi funktsiyalar bilan belgilanadi: Mem × YildaChiqdi × Mem, ya'ni chiqadigan qiymatni hisoblaydigan va xotirani yangilaydigan, joriy xotiradan va kirish qiymatidan.

Umumiy bo'lsa-da X-apparati 1980-yillarda dasturiy ta'minot tizimlarini aniqlash uchun potentsial foydali rasmiy model sifatida aniqlangan,[3] faqat Stream X-Machine paydo bo'lgunga qadar ushbu g'oyadan to'liq foydalanish mumkin edi. Florentin Ipate va Mayk Xolkom nazariyalarni ishlab chiqishga kirishdilar to'liq funktsional sinov,[4] bunda yuz minglab davlatlar va millionlab o'tish davri bo'lgan murakkab dasturiy ta'minot tizimlari to'g'ri integratsiyani kafolatlangan isboti bilan to'liq sinovdan o'tkazilishi mumkin bo'lgan alohida SXMlarga ajralishi mumkin edi.[5]

Stream X-Machines-ni "kirish va chiqish bilan ishlov berish agentlari" deb intuitiv talqin qilganligi sababli, ular real hodisalarni modellashtirishda foydaliligi tufayli qiziqishni tobora ko'paytirmoqda. SXM modeli turli sohalarda muhim dasturlarga ega hisoblash biologiyasi, dasturiy ta'minotni sinovdan o'tkazish va agentliklarga asoslangan hisoblash iqtisodiyoti.

Stream X-Machine

Stream X-Machine (SXM) kengaytirilgan cheklangan davlat mashinasi yordamchi xotira, kirish va chiqish bilan. Bu umumiyning bir variantidir X-apparati, unda asosiy ma'lumotlar turi X = Chiqdi* × Mem × Yilda*, ya'ni chiqish oqimi, xotira va kirish oqimidan tashkil topgan korniş. SXM ajratib turadi oqim oqimi tizimining qayta ishlash tizim tomonidan amalga oshiriladi. Boshqarish a tomonidan modellashtirilgan cheklangan davlat mashinasi (. nomi bilan tanilgan bog'liq avtomat), ularning o'tishlari Φ to'plamidan tanlangan ishlov berish funktsiyalari bilan belgilanadi ( turi asosiy ma'lumotlar turiga qarab ishlaydigan).

In dagi har bir ishlov berish funktsiyasi qisman funktsiyadir va uni type tipiga ega deb hisoblash mumkin: Mem × YildaChiqdi × Mem, qayerda Mem bu xotira turi va Yilda va Chiqdi mos ravishda kirish va chiqish turlari hisoblanadi. Har qanday holatda, o'tish yoqilgan agar bog'liq funktsiya sohasi φ bo'lsamen keyingi kirish qiymati va joriy xotira holatini o'z ichiga oladi. Agar ma'lum bir holatda (ko'pi bilan) bitta o'tish yoqilgan bo'lsa, mashina shunday bo'ladi deterministik. O'tishni kesib o'tish, bog'liq funktsiyani bajarishga tengdir φmen, bitta kirishni sarflaydigan, ehtimol xotirani o'zgartiradi va bitta chiqishni hosil qiladi. Shuning uchun mashina orqali tanilgan har bir yo'l a ro'yxatini yaratadi1 ... φn funktsiyalari va SXM ushbu funktsiyalarni birgalikda ma'lumotlar bazasi | φ ga bog'liqlik yaratish uchun birlashtiradi1 ... φn|: XX.

X-mashinalari bilan aloqasi

Stream X-Machine-ning variantidir X-apparati unda asosiy ma'lumotlar turi X = Chiqdi* × Mem × Yilda*. Asl nusxada X-apparati, φmen umumiydir munosabatlar kuni X. Stream X-Machine-da ular odatda cheklangan funktsiyalari; ammo SXM hali ham har bir davlatda (eng ko'pi bilan) bitta o'tish imkoniyati mavjud bo'lganda aniqlanadi.

Umumiy X-apparati oldingi a kodlash funktsiyasi yordamida kirish va chiqishni boshqaradi: YX kirish uchun va orqa dekodlash funktsiyasi β: XZ chiqish uchun, qaerda Y va Z mos ravishda kirish va chiqish turlari hisoblanadi. Stream X-Machine-da ushbu turlar oqimlar:

 Y = Yilda* Z = Chiqdi*

va kodlash va dekodlash funktsiyalari quyidagicha aniqlanadi:

 a (ins) = (<>, mem0, ins) β (chiqish, memn, <>) = chiqish

qayerda ins: In*, chiqish: chiqish* va memmen: Mem. Boshqacha qilib aytganda, mashina butun kirish oqimi bilan initsializatsiya qilinadi; va dekodlangan natija chiqish oqimining to'liq qismi bo'lib, kirish oqimi oxir-oqibat iste'mol qilinishi sharti bilan (aks holda natija aniqlanmagan).

SXMdagi har bir ishlov berish funktsiyasiga qisqartirilgan type turi berilganSXM: Mem × YildaChiqdi × Mem. Buni generalga solishtirish mumkin X-apparati φ: X → X tipidagi munosabat, agar biz buni hisoblash sifatida ko'rib chiqsak:

 φ (chiqish, memmen, yilda :: ins) = (chiqish :: chiqib, memi + 1, ins)

qayerda :: element va ketma-ketlikni birlashtirishni bildiradi. Boshqacha qilib aytganda, munosabat kirish oqimining boshini ajratib oladi, xotirani o'zgartiradi va chiqadigan oqimning dumiga qiymat qo'shadi.

Qayta ishlash va sinovdan o'tkaziladigan xususiyatlar

Yuqoridagi ekvivalentlik tufayli, e'tibor Stream X-Machine yordamchi xotiradan foydalanib, kirishni chiqindilarga ishlov berish uslubiga qaratilishi mumkin. Dastlabki xotira holati berilgan mem0 va kirish oqimi ins, mashina asta-sekinlik bilan ishlaydi, bir vaqtning o'zida bitta kirishni iste'mol qiladi va bir vaqtning o'zida bitta chiqishni hosil qiladi. Bu (hech bo'lmaganda) bitta tan olingan yo'l bilan yo'l = φ1 ... φn kirish sarf qilingan holatga olib boradigan bo'lsa, mashina oxirgi xotira holatini beradi memn va chiqish oqimi chiqish. Umuman olganda, biz buni barcha tan olingan yo'llar tomonidan hisoblab chiqilgan munosabat deb hisoblashimiz mumkin: | yo'l | : Yilda* → Chiqdi*. Bunga ko'pincha xulq-atvor Stream X-Machine.

Har bir davlatda (ko'pi bilan) bitta o'tish imkoniyati mavjud bo'lsa, xatti-harakatlar aniqlanadi. Ushbu xususiyat va mashinaning kirish va xotiraga javoban qanday harakat qilishini boshqarish qobiliyati uni dasturiy ta'minot tizimlarining spetsifikatsiyasi uchun ideal modelga aylantiradi. Agar spetsifikatsiya va amalga oshirish har ikkisi ham Stream X-Machines deb taxmin qilingan bo'lsa, unda har bir qadamda kirish va chiqishni kuzatib, spetsifikatsiya mashinasiga muvofiqligi sinovdan o'tkazilishi mumkin. Laycock dastlab sinov maqsadida kuzatishlar bilan bir bosqichli ishlov berishning foydali ekanligini ta'kidladi.[1]

Holcombe va Ipate buni dasturiy ta'minotni sinovdan o'tkazishning amaliy nazariyasiga aylantirdilar[4] to'liq kompozitsion bo'lib, juda katta tizimlarni kengaytirdi.[6] To'g'ri integratsiyaning isboti[5] har bir komponentni va har bir integratsiya qatlamini alohida sinovdan o'tkazish butun tizimni sinashga mos kelishini kafolatlaydi. Ushbu bo'linish va g'alaba qozonish yondashuvi to'liq katta tizimlar uchun mumkin bo'lgan sinov.

Sinov usuli alohida maqolada tasvirlangan Stream X-Machine sinovlari metodologiyasi.

Shuningdek qarang

  • X-apparatlar, oddiy misolni o'z ichiga olgan X-mashina modelining umumiy tavsifi.
  • Stream X-Machine sinov usuli, a to'liq funktsional sinov texnika. Ushbu metodologiyadan foydalanib, a ni aniqlash mumkin cheklangan dasturning uning spetsifikatsiyasiga mos kelishini to'liq aniqlaydigan testlar to'plami. Texnika foydalanuvchilarning puxta ko'rsatmalarini qo'llashlarini talab qilish orqali rasmiy hal etilmaslik cheklovlarini engib chiqadi sinov uchun dizayn amalga oshirish jarayonida tamoyillar.
  • Aloqa oqimi X-mashinalari (CSXM), ijtimoiy hasharotlardan tortib to iqtisodgacha bo'lgan sohalarda qo'llaniladigan SXM modelining bir vaqtning o'zida versiyasi.

Tashqi havolalar

Adabiyotlar

  1. ^ a b Gilbert Laykok (1993) Texnik spetsifikatsiyaga asoslangan dasturiy ta'minotni sinash nazariyasi va amaliyoti. Doktorlik dissertatsiyasi, Sheffield universiteti, kompyuter fanlari bo'limi. Xulosa Arxivlandi 2007-11-05 da Orqaga qaytish mashinasi
  2. ^ Samuel Eilenberg (1974) Avtomatlar, tillar va mashinalar, jild. A. London: Academic Press.
  3. ^ M. Holcombe (1988) 'X-mashinalar dinamik tizim spetsifikatsiyasi uchun asos'. Dastur muhandisligi jurnali 3 (2), 69-76-betlar.
  4. ^ a b Mayk Holcombe va Florentin Ipate (1998) To'g'ri tizimlar - biznes-jarayon echimini yaratish. Amaliy hisoblash seriyasi. Berlin: Springer-Verlag.
  5. ^ a b F. Ipate va W. M. L. Holcombe (1997) "Integratsiyani sinash usuli, u barcha xatolarni topdi". Int. J. Komp. Matematika., 63, 159-178 betlar.
  6. ^ F. Ipate va M. Holcombe (1998) "Mashinalarning umumlashtirilgan texnik xususiyatlarini takomillashtirish va sinash usuli". Int. J. Komp. Matematika. 68, 197-219 betlar.