-Amaliy mashg’ulot - Mavzu: Tashkillashtirishning taqsimlangan axborot tizimi konsepsiyalari. Ishdan maqsad

|
Mavzu: Tashkillashtirishning taqsimlangan axborot tizimi konsepsiyalari. Ishdan maqsad
|
bet | 2/2 | Sana | 11.01.2024 | Hajmi | 30,09 Kb. | | #134896 |
Bog'liq 3 - amaliyot ishi6-Amaliy mashg’ulot .
Mavzu:Taqsimlangan tizimlarni modellashtirish. Triad tili.
Ishdan maqsad: Ko’ppog’onali taqsinlangan arxitekturanita’riflab berish
Nazariy qism
Taqsimlangan tizimlarni taqsimot qilish- murakkab masaladir. Avvalambor, taqsimlangan tizim ta’riflanib berilishi lozimdir.(shartdir), ya’ni tizimning modeli () kerakdir. Bu maqsadda turli xildagi tillarni qo’llash mumkin: Unified Modeling Language (UML), Very large scale Hardware Description Language (VHDL) va boshqalar. Bu yerda biz Triad tiliga mansub bosqichlarni ko’rib chiqamiz.
Taqsimlangan tizim taqsimlangan arxitekturasi bilan,ya’ni diskret (bir-birlaridan uzoqlashgan) elementlar yoki osttizimlar va ushbu elementlar orasidagi aloqalar bilan harakterlanadi. Elementlarning taqsimlanishlariga () xilda tizimning () ham taqsimlanadilar.(Ish algoritmlari). Taqsimlangan elementlar fazoda taqsimlangan xabarlar (signallar) bilan almashinib turadilar.
Tride turidagi til struktura (Str), algoritmlar (Rout) va xabarlarining (Mes) mustaqil ta’riflab berishlarini nazarda tutadi.
Asosiy qatlam sifatida strukturaning qatlami o’rin () aynan u elementlarning taqsimlanishlarini va aloqalarini belgilab beradi. Strukturaning ta’riflanishi nazariy-grafli vositalar orqali amalga oshiriladi.
System tizimining strukturasi (3.1-rasm) Tride ichida
Star (Server,Node [1…n]),
Formulasi orqali ifodalanadi, bu esa graflar nazariyasi nuqtayi nazaridan markazda joylashgan Server cho’qqisi (uchi) va 1 dan ngacha nomerlanga periferik Node[i] cho’qqilariga ega bo’lgan graf-yulduz ko’rinishida namoyon bo’ladigan strukturani anglatadi.
Taqsimlangan tizimning 3.2-rasmda ko’rsatilgan strukturasi Triad da
Star (Server,Serv[a..c]) + star (Serv[a] , Node [1..k]) +star (Serv[b],Node [k+1…m])+ star (Serv[c], Node [m+1…n]),
Formulasi orqali () . Bu esa garflar nazariyasi nuqtayi nazaridan turli nafar garf+yulduzlarning (+) birlashmasi () ichida keltirligan strukturani anglatadi. Markaziy yulduz va markaziy Server va uch nafar periferik Serv[i] cho’qqilarga ega bo’lib, bu yerda i- ko’p sonli (a,b,c) qiymatlaga ega bo’lgan sanoqlar (sanab chiqiladigan,sanab o’tiladigan, ko’chiriladigan) o’zgaruvchidir. Serv[i] cho’qqilari () , Node [1..k] , Node[1+1…m], va Node[m+1…n] periferik cho’qqilarga ega bo’lgan uch nafar yulduzlar markazlaridirlar .
Ushbu formula tizim modelining ta’riflanishi bo’lib qolishi uchun unga () bo’lgan () ()() . Umumiy ta’riflanishi
Model System2 (k,m,n: integer) def
System2:= Star (Server,Serv[a..c]) + star (Serv[a] , Node [1..k]) +star (Serv[b],Node [k+1…m])+ star (Serv[c], Node [m+1…n])
Enddef
Ushbu modelga (System2) nomini belgilab, model uch nafar k,m,n butun sonli parametrlarga bog’liq ekanligini ta’kidlab beradi. Shunday ekan bu yozuv bir turga mansub modellarning butun bir oilasini belgilab beradi. Xususan 3.2-rasmda tasvirlangan model System2 sifatida (8;17;28) ().
Ushbu ta’rif () hozircha tizimning markaziy va periferik tugunlari qay tarzda faoliyat yutritiayotganliklari to’g’risida hech qanday ma’lumotlar yo’qligini e’tiborga olib qo’yaylik.
Faoliyat yuritish algoritmlarini ta’riflanishini ikkinchi () rutin (routine) () vazifasiga turadi. Bu holatda o’z navbatida tugunlar orasidagi aloqalar ya’ni strukturaning ta’ruflanishi yo’qdir.
Rutina tizimining har bir tuguni uchun berilgan () shartdir.(graf cho’qqisida). Agar barcha periferik tugunlar bir-birlariga () ravishda faoliyat () bo’lsalar, unda ular uchun har bir cho’qqiga () nusxasi () faqat bitta rutinanigina ta’riflab berish yetarli bo’ladi. (Triadda rutinaniustiga qo’llash (yotqizish) iborasi ishlatiladi.)
Tizim tugunlari () ta’riflash chog’ida () nima sodir bo’layotganligini emas , balki bu qachon sodir bo’layotganligi ham muhimdir. Shuning uchun rutinaning ta’riflanishini ()- yo’naltirilgan ko’rinishga egadir. Rutinaning ta’riflanishi bir yoki bir necha voqealarni () seksiya(event)lardan iborat bo’ladi. Voqeaviy seksiyalarda ta’riflangan voqealar shu zahotiyoq bajariladi deb hisoblanadilar. Bunda alohida olingan voqealar sabab-natijaga aloqalar () joy (). () voqea o’zining ketidan ( biror bir vaqt ()) boshqa voqeani (Triadda ej voqeani e; voqeasi tomonidan rejalashtirish iborasi ishlatiladi) ergashtirib kelishi mumkin.
Agar tizimda ikki tugun bir-birlari bilan bog’liq bo’lishsa . unda , ehtimol, birinchi tugundagi voqea ikkinchi tugundagi voqeani ergashtirib kelishi mumkindir. Strukturalar va rutinlar qatlamlarining alohida qilib ta’riflanganliklari bois, bu voqealarning bir- birlariga bo’lgan aloqalarini bilvosita ravishda rejalashtirish operatorlarining ( schedule) yordamoda ta’riflab berish mumkin emasdir. Buning o’rniga rutinaning ichida, shu rutina yotqizilgan, (joylashgan) cho’qqiga har qanday xabarnomaning kirib kelishi bilan amalga oshihi shart bo’lgan kirish voqeasi tushunchasi kiritiladi. Kirish voqeasi ham rutinaning alohida seksiyasi tomonidan ta’riflab beriladi. Rutina out operatorini bajarish yo’li bilan (vositasida) tashqi rutinalardagi kirish voqealarini ham qo’zg’atib yuborishi mumkindir:
c)
Routine Generator
Initial
Schedule (Repeat, 0.0)
Endi
Event Repeat;
Out; schedule (Repeat 2.4)
Ende
Endrout.
Bu yerda Generator- rutinning nomi 2.4 – voqealar orasidagi intervallar.
Initial qismi boshlang’ich shartlarini belgilab beradi. (shularning ichida boshlang’ich harakatlari ham) . Mazkur ()- bu Repeat voqeasini 0.0 vaqt birliklaridan (), ya’ni immitatsion modellashtirishida start olgan paytidagi rejalash ().
Repeat voqeasining sodir bo’layotgan paytda ( () rutina chiqish xabanomasni chiqaradi, bu () (xabarnoma) o’z o’rnida , strukturaning mavjudligi paytida qo’shni tushish cho’qqilariga o’tib, ular uchun foydali kirish xabarnomasi bo’lib qoladi . Mazkur paytda out operatori ichida xabarnomaning hech qanday “qiymati/ belgisi” ) yo’qdir. U kechroq xabarnomalar qatlamidan shoshilishi mumkin. U aniqlanmagan bo’lib qolishi ham mumkindir:- ayrim paytlarda xabarnomaning qiymati emas, balki uning kelib tushganlik omilining o’zi yoki u sukut saqlashish bo’yicha ravshan bo’lishi mumkindir.
Shu paytning o’zida Repeat voqeasi 2.4 vaqt biriligidan so’ng yangitdan rejalashtiriladi.
Shunday qilib generator rutinasi 0.0 momentidan boshlab regulyar ravishda har 2.4 vaqt birligi orasida xabarnomalarni chiqarib tura boshlaydi.Bu jarayon chegaralanmagan bo’lib modellashtirish seansi tugashi bilan birga yakunlaydi.
T parametriga bog’liq bo’lgan rutinalar oilasini berish mumkin:
D )
Routine Generator (Real T)
Initial
Schedule (Repeat, 0.0)
Endi
Event Repeat;
Out; schedule (Repeat T)
Ende
Endrout.
Parametrlar bir nechta bo’lishi mumkin, ularning barchalari rutina ekzemplyarining yaratilayotgan momentidagi qiymatlari uzatilib () ekzemplyarning () belgilangan bo’ladilar.
Mazkur misolda kirish voqeasi mavjud emas, ya’ni Generator rutinasiga ega bo’lgan tugun , unga kelayotgan xabarlarning hech qaysinisiga aks ta’sir ko’rsatmaydi. Anchayin murakkabroq holatlarda rutinna ichida voqea o’rin olishi mumkindir .
Triad tilidagi qoidalarga movofiq rutina ichida kirish voqeasi faqat bir marotabagina sodir etislishi mumkin. Uning nomi bo’lmaydi va ushbu rutinaning ichida rejalashtirilmaydi.
Controller Generator boshariladigan generatorning keying () kirish voqeasining qo’llanilishin ko’rsatib beradi:
e)
routine ControlledGenerator (Real T)
initial
Boolean Run;
Run := false
Endi
Event;
If Run then Run := false else begin Run:= true; schedule (Repeat,0.0) end
Ende
Event Repeat;
Out; if Run then schedule (Repeat,T)
Ende
Endrout.
Repeat voqeasi o’zining takrorlanishlarini faqat Run o’zgaruvchisi “istina” qiymatiga (true) ega bo’lganidagina rejalashtiriladi. Dastlab (initial) qismida bu o’zgaruvchining qiymati “yolg’on” (false) ko’rinishida o’rnatilgan bo’ladi. Shuning uchun generator ishlamaydi.
Xabarnoma (qandayliginig farqi yo’q) qabul qilinganidan so’ng, Run ni “Istina” ga qayta ulab beradigan voqea va zudlik bilan rejalashtiriladigan Repeat voqeasi yurgizilib oboriladi (ishlab ketadi.) Generator ishlay boshlaydi.
Keyingi xabarnoma kelib tushgan paytda (yana qandayligidan qat’I nazar) yana bir bor kirish voqeasi ishlab ketadi. Ammo hozir Run qiymati endi “istina” dir av unda u qarama-qarshiligicha o’zgartiriladi. Generator o’z ishini to’xtatadi. Uchinchi xabarchini generatorni yana bir bor generatorni yurgizib yuborator, () esa yana uchirib () va hk
Keltirilgan misollardan ko’rinib turganidek, xabarlarning qiymatlari ayrim () kerak bo’lmay qoladilar va shunday ekan xabarnomalar qiymatini ta’riflaganimiz ham ishni () bo’lar ekan. Boshqa holatlarda ma’lumotlarning avvaldan aniqlanib (belgilanib) bo’lingan tiplari (turlari) yetarli bo’ladi (integer, real ,boolean) . Xabarnomalar qatlamining mahsus ta’riflanishi ham zarur emasdir.
Modellashtirishning murakkab vaziyatlarida ko’ppog’onali iyerarxik modellarning qurilayotgan paytlarda xabarnomalarning strukturaviy tiplarining qurilishlari ham talab etiladi. Bu yerda bunga to’xtamay, qayd qilamizki, u xuddi dasturlashning universal tillarida qilinganidek amalga oshiriladi. (sintakasisdan tashqari).
Strukturalar va rutinalar ta’riflanib bo’linganlaridan so’ng rutinalarga strukturani ta’riflayotgan grafning ustiga yotqizilishining amalga oshirilishi zarurdir. Bu ish
Routine (Node[i]):=Generator
|
| |