Assignment3.pdf

‫تمرین سوم درس تولید برنامه از توصیف صوری‬
۰0/3/1۱ :‫تاریخ تحَیل‬
:‫ّا تعزیف شذُ است‬sequence ‫ هاشیي سیز بزای پزداسش‬-1
MACHINE Buffers(maxbuff, MESSAGE)
VARIABLES
leftbuf, rightbuf
INVARIANT
leftbuf: seq(MESSAGE) &
rightbuf: seq(MESSAGE) &
size(leftbuf)<=maxbuff &
size(rightbuf)<=maxbuff
INITIALISATION
leftbuf
:=<>|| rightbuf:=<>
OPERATIONS
push(xx)=
PRE xx:MESSAGE &
size(leftbuf)<maxbuff
THEN
leftbuf:=[xx]^leftbuf
END;
shift=
PRE size(rightbuf)<maxbuff
THEN
LET hd
BE hd=last(leftbuf)
IN
rightbuf:=[hd]^rightbuf||
‫)‪lefbuf:=front(leftbuf‬‬
‫‪END‬‬
‫‪END‬‬
‫‪END‬‬
‫‪‬‬
‫ساسگاری داخلی ایي هاشیي را بزرسی ًوائیذ ٍ در صَرت عذم ساسگاری تغییزات السم را اعوال ًوائیذ‪.‬‬
‫‪‬‬
‫عولی تعزیف کٌیذ کِ تَسط آى طَل ‪ sequence‬اٍل باسگزداًذُ شَد‪.‬‬
‫‪‬‬
‫عولی تعزیف کٌیذ کِ آخزیي عٌصز ‪ sequence‬دٍم را اس آى خارج کزدُ ٍ ایي عٌصز را باسگزداًذ‪.‬‬
‫‪ -2‬فزض کٌین بِ دًبال طزاحی یک سیستن بزای کٌتزل دستزسی در یک ساختواى با هالحظات اهٌیتی خاص ّستین‪.‬‬
‫ایي ساختواى دارای اتاقّای هتعذد هیباشذ‪ّ .‬ز فزد در ایي ساسهاى تٌْا هجاس بِ اًجام فعالیتّایی است کِ هجَس اًجام‬
‫آًْا را داشتِ باشذ‪ .‬بِ عالٍُ ّز اتاق بزای فعالیتّایی خاص طزاحی شذُ است‪ .‬دستزسی یک فزد بِ یک اتاق تٌْا در‬
‫صَرتی هجاس شوزدُ هیشَد کِ فزد هَرد بحث هجَس اًجام تواهی فعالیتّای ًسبت دادُ شذُ بِ آى اتاق را داشتِ‬
‫باشذ‪ .‬دستزسی افزاد بِ اتاقّا اًحصاری است‪.‬‬
‫‪‬‬
‫اًَاع‪ ،‬هتغییزّا‪ّinvariant ،‬ا ٍ ‪ ...‬هَرد ًیاس بزای تَصیف ایي سیستن را بِ صَرت یک هاشیي ‪ B‬بیاى کٌیذ‪.‬‬
‫‪‬‬
‫عولی بزای ٍرٍد یک فزد بِ یک اتاق (درخَاست شذُ تَسط فزد هَرد ًظز) تعزیف کٌیذ‪ .‬اگز فزد هَرد ًظز‬
‫بزای ٍرٍد بِ اتاق درخَاستی‪ ،‬هجَسّای السم را داشتِ باشذ عول تخصیص صَرت هیگیزد‪ .‬در غیز ایي‬
‫صَرت(ٍ در صَرت اهکاى) اتاق دلخَاّی هتٌاسب با سطح دستزسی فزد بِ ٍی اختصاص هییابذ‪ .‬چٌاًچِ ّیچ‬
‫یک اس ایي تخصیصّا اهکاىپذیز ًبَد اتاقی بِ کاربز اختصاص ًخَاّذ یافت‪.‬‬
‫‪‬‬
‫عولی بزای تزک یک اتاق تَسط فزد حاضز در آى اتاق تعزیف کٌیذ‪.‬‬
‫‪‬‬
‫عولی تعزیف کٌیذ کِ هجَس فعالیتی را بِ یک فزد ًسبت هیدّذ‪.‬‬
‫‪ ‬فعالیتی را کِ در لیست فعالیتّای فعلی یک اتاق ًیست بِ لیست فعالیتّای آى اتاق بیافشائیذ‪.‬‬