Verification_Homework1.pdf

‫درﺳﺘﻲ ﻳﺎﺑﻲ ﺳﻴﺴﺘﻢ ﻫﺎي واﻛﻨﺸﻲ‬
‫ﺗﻤﺮﻳﻦ ﺳﺮي اول‬
‫ﺗﺎرﻳﺦ ﺗﺤﻮﻳﻞ‪ 15 :‬اردﻳﺒﻬﺸﺖ‬
‫• از اﻧﺠﺎم ﺗﻜﺎﻟﻴﻒ ﺑﻪ ﺻﻮرت ﮔﺮوﻫﻲ ﺧﻮدداري ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫• ﻟﻄﻔﺎ ﭘﺎﺳﺦ ﺧﻮد را در ﻗﺎﻟﺐ ﻳﻚ ﮔﺰارش ﺑﺎ ﻓﺮﻣﺖ ‪ pdf‬ﺑﻪ ﻫﻤﺮاه ﻛﺪ ﻣﺮﺑﻮط ﺑﻪ ﻫﺮ ﺳﻮال در ﻗﺎﻟﺐ ‪.smv‬‬
‫ﻓﺸﺮده ﻧﻤﻮده و ﺑﻪ آدرس ‪ [email protected]‬ارﺳﺎل ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫• از ﻗﺮار دادن ﭘﺎﺳﺦ در ﻣﺘﻦ اﻳﻤﻴﻞ ﺧﻮدداري ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫• ﺑﺮاي ارﺳﺎل اﻳﻤﻴﻞ از ﻋﻨﻮان ﺑﺎ ﻓﺮﻣﺖ ‪ StudentNo_FirstName_LastName_Ex1‬اﺳﺘﻔﺎده ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫ﺳﻮال ‪ -1‬ﻃﺮاﺣﻲ ﻛﻨﺘﺮل ﻛﻨﻨﺪهي اﺟﺎق ﻣﻴﻜﺮووﻳﻮ‬
‫ﻫﺪف از اﻳﻦ ﺳﻮال ﻃﺮاﺣﻲ ﻳﻚ ﻛﻨﺘﺮل ﻛﻨﻨﺪه ﺑﺮاي اﺟﺎق ﻣﻴﻜﺮووﻳﻮ اﺳﺖ‪ .‬ﺑﺎ ﺗﻮﺟﻪ ﺑﻪ ﺗﻮﺻﻴﻔﺎت زﻳﺮ‪ ،‬ﺳﻴﺴﺘﻢ ﮔﺬار‬
‫ﻣﺮﺑﻮﻃﻪ را ﺗﺮﺳﻴﻢ ﻧﻤﺎﻳﻴﺪ و ﺳﭙﺲ ﺑﺎ اﺳﺘﻔﺎده از اﺑﺰار ‪ 1NuSMV‬درﺳﺘﻲ دو وﻳﮋﮔﻲ ‪ LTL‬دﻟﺨﻮاه را در آن ﺑﺮرﺳﻲ‬
‫ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫‪-‬‬
‫درب اﺟﺎق در ﺻﻮرﺗﻲ ﺑﺎز ﺧﻮاﻫﺪ ﺷﺪ ﻛﻪ اﻟﻤﺎن ﮔﺮﻣﺎﻳﺸﻲ ﺧﺎﻣﻮش ﺑﺎﺷﺪ‪.‬‬
‫‪-‬‬
‫اﮔﺮ درب اﺟﺎق ﺑﺎز ﺑﺎﺷﺪ و ﻛﺎرﺑﺮ دﻛﻤﻪي ﺷﺮوع را ﻓﺸﺎر دﻫﺪ‪ ،‬ﺳﻴﺴﺘﻢ ﺑﻪ ﺣﺎﻟﺖ ﺧﻄﺎ ﺧﻮاﻫﺪ رﻓﺖ‪.‬‬
‫‪-‬‬
‫ﺑﺎ ﻓﺸﺮدن دﻛﻤﻪي ﺷﺮوع ﻣﺠﺪد‪ ،‬ﺳﻴﺴﺘﻢ از ﺣﺎﻟﺖ ﺧﻄﺎ ﺧﺎرج ﻣﻲﮔﺮدد‪.‬‬
‫ﺳﻮال ‪ -2‬ﭘﺮوﺗﻜﻞ ﺑﻴﺖ ﻣﺘﻨﺎوب‬
‫‪2‬‬
‫ﭘﺮوﺗﻜﻞ ﺑﻴﺖ ﻣﺘﻨﺎوب‪ ،‬ﺑﺮاي ارﺳﺎل ﭘﻴﺎم ﺑﺮ روي ﻛﺎﻧﺎل ﻫﺎي ﻧﺎﻣﻄﻤﺌﻦ ﺑﻪ ﻛﺎر ﻣﻲرود‪ .‬در اﻳﻦ ﻛﺎﻧﺎلﻫﺎ‪ ،‬اﻣﻜﺎن از دﺳﺖ‬
‫رﻓﺘﻦ ﭘﻴﺎم وﺟﻮد دارد‪ ،‬در ﺣﺎﻟﻴﻜﻪ‪ ،‬ﺗﻐﻴﻴﺮ ﭘﻴﺎمﻫﺎ ﻣﻤﻜﻦ ﻧﻴﺴﺖ‪ .‬در ﺻﻮرت از دﺳﺖ رﻓﺘﻦ ﻳﻚ ﭘﻴﺎم‪ ،‬ﻛﺎﻧﺎل ﭘﻴﺎم ﻗﺒﻠﻲ را‬
‫ﻣﺠﺪدا ارﺳﺎل ﻣﻲﻧﻤﺎﻳﺪ‪ .‬ﭘﺮوﺗﻜﻞ ﻣﺬﻛﻮر ﺑﻪ ﺻﻮرت زﻳﺮ ﻋﻤﻞ ﻣﻲ ﻛﻨﺪ‪:‬‬
‫‪-‬‬
‫ﻓﺮﺳﺘﻨﺪه اوﻟﻴﻦ ﺑﺨﺶ از ﭘﻴﺎم را ﻫﻤﺮاه ﺑﺎ ﻳﻚ ﺑﻴﺖ ﻛﻨﺘﺮﻟﻲ ﺑﻪ ﻧﺎم ‪ ،c‬ارﺳﺎل ﻣﻲ ﻛﻨﺪ‪.‬‬
‫‪-‬‬
‫اﮔﺮ درﻳﺎﻓﺖ ﻛﻨﻨﺪه‪ ،‬ﭘﻴﺎﻣﻲ ﺑﺎ ﺑﻴﺖ ﻛﻨﺘﺮﻟﻲ ‪ ،c‬درﻳﺎﻓﺖ ﻛﺮد‪ c ،‬را از ﻃﺮﻳﻖ ﻣﺴﻴﺮ ﺑﺮﮔﺸﺖ ﺑﺮاي ﻓﺮﺳﺘﻨﺪه ارﺳﺎل‬
‫ﻣﻲ ﻛﻨﺪ‪ .‬در ﻏﻴﺮ اﻳﻦ ﺻﻮرت از ﭘﻴﺎم درﻳﺎﻓﺘﻲ ﺻﺮف ﻧﻈﺮ ﻣﻲ ﻧﻤﺎﻳﺪ‪.‬‬
‫‪١‬‬
‫‪ NuSMV‬يک ابزار وارسی مدل مبتنی بر ‪ BDD‬است که به ما اجازه می دھد يک سيستم با حالت ھای محدود را نسبت به ويژگی ھايی که‬
‫توسط منطق ھای ‪ LTL‬يا ‪ CTL‬بيان می شوند‪ ،‬وارسی کنيم‪ .‬اين ابزار رايگان و متن باز است که می توانيد نسخهی ويندوز يا لينوکس آن را‬
‫به‬
‫توانيد‬
‫می‬
‫آن‬
‫گرافيکی‬
‫محيط‬
‫دانلود‬
‫برای‬
‫ھمچنين‬
‫کنيد‪.‬‬
‫دانلود‬
‫‪Http://nusmv.fbk.eu‬‬
‫از‬
‫‪ http://nusmv.$k.eu/courses/esslli02/gnusmv‬مراجعه کنيد‪ .‬برای اطالعات بيشتر می توانيد به راھنمای ‪ NuSMV‬نه نشانی‬
‫‪ h(p://nusmv.$k.eu/NuSMV/tutorial/v25/tutorial.pdf‬مراجعه نماييد‪.‬‬
‫‪٢‬‬
‫)‪Alternating Bit Protocol (ABP‬‬
‫‪١‬‬
‫درﺳﺘﻲ ﻳﺎﺑﻲ ﺳﻴﺴﺘﻢ ﻫﺎي واﻛﻨﺸﻲ‬
‫ﺗﻤﺮﻳﻦ ﺳﺮي اول‬
‫‪-‬‬
‫اﮔﺮ ﻓﺮﺳﺘﻨﺪه‪ ،‬از ﻃﺮﻳﻖ ﻣﺴﻴﺮ ﺑﺎزﮔﺸﺖ‪ ،‬ﻫﻤﺎن ﺑﻴﺖ ﻛﻨﺘﺮﻟﻲ ارﺳﺎل ﺷﺪه ﺗﻮﺳﻂ ﺧﻮد را درﻳﺎﻓﺖ ﻧﻤﻮد‪ ،‬ﭘﻴﺎم‬
‫ﺑﻌﺪي را ﺑﻪ ﻫﻤﺮاه ﻧﻘﻴﺾ ﺑﻴﺖ ﻛﻨﺘﺮﻟﻲ ﻓﻌﻠﻲ ارﺳﺎل ﻣﻲﻧﻤﺎﻳﺪ‪ .‬در ﻏﻴﺮ اﻳﻦ ﺻﻮرت‪ ،‬ﻫﻤﺎن ﭘﻴﺎم ﻗﺒﻠﻲ را ﺑﺎ ﺑﻴﺖ‬
‫ﻛﻨﺘﺮﻟﻲ ﻓﻌﻠﻲ ﻣﺠﺪدا ارﺳﺎل ﻣﻲ ﻧﻤﺎﻳﺪ‪.‬‬
‫‪-‬‬
‫ﺑﺎ ﺗﻨﺎوب در ﻣﻘﺪار ﺑﻴﺖ ﻛﻨﺘﺮﻟﻲ ارﺳﺎﻟﻲ‪ ،‬ﻓﺮﺳﺘﻨﺪه و ﮔﻴﺮﻧﺪه از ﮔﻢ ﻧﺸﺪن ﭘﻴﺎم اﻃﻤﻴﻨﺎل ﺣﺎﺻﻞ ﻣﻲ ﻛﻨﻨﺪ‪ ) .‬اﮔﺮ‬
‫ﺑﻴﺖ ﻛﻨﺘﺮﻟﻲ درﻳﺎﻓﺖ ﺷﺪه از ﺳﻮي ﻳﻜﻲ از ﻃﺮﻓﻴﻦ‪ ،‬ﺑﻴﺖ ﻣﻮرد اﻧﺘﻈﺎر ﻧﺒﺎﺷﺪ‪ ،‬آن ﭘﻴﺎم ﻧﺎدﻳﺪه ﮔﺮﻓﺘﻪ ﻣﻲﺷﻮد‪(.‬‬
‫ﺑﺎ اﺳﺘﻔﺎده از اﺑﺰار ‪ NuSMV‬و در ﻧﻈﺮ ﮔﺮﻓﺘﻦ اﺟﺮاﻫﺎي ﻣﻨﺼﻔﺎﻧﻪ‪ ،‬ﺗﺤﻘﻖ وﻳﮋﮔﻲ ﻫﺎي زﻳﺮ را در اﻳﻦ ﺳﻴﺴﺘﻢ‬
‫ﺑﺮرﺳﻲ ﻧﻤﺎﻳﻴﺪ‪.‬‬
‫‪ -1‬ﻫﺮ ﭘﻴﺎم ارﺳﺎﻟﻲ ﺑﺎﻻﺧﺮه ﺑﻪ ﻣﻘﺼﺪ ﻣﻲ رﺳﺪ‪.‬‬
‫‪ -2‬ﻓﺮﺳﺘﻨﺪه‪ ،‬ﻣﻲ ﺗﻮاﻧﺪ ﺑﻲ ﻧﻬﺎﻳﺖ ﭘﻴﺎم ارﺳﺎل ﻧﻤﺎﻳﺪ‪.‬‬
‫ﻫﻤﭽﻨﻴﻦ ﻻزم اﺳﺖ‪ ،‬ﻛﺪ ﻣﺮﺑﻮﻃﻪ را ﺑﻪ ﻃﻮر ﻛﺎﻣﻞ ﺗﻮﺿﻴﺢ دﻫﻴﺪ‪.‬‬
‫ﺳﻮال ‪ -3‬ﻣﺪﻟﺴﺎزي ﺳﻴﺴﺘﻢ آﺳﺎﻧﺴﻮر‬
‫در اﻳﻦ ﺑﺨﺶ ﺑﺎﻳﺪ ﻳﻚ ﺳﻴﺴﺘﻢ آﺳﺎﻧﺴﻮر ﺳﺎده ﺷﺪه را ﻣﺪ ﻟﺴﺎزي ﻛﻨﻴﺪ ‪.‬آﺳﺎﻧﺴﻮر در ﻳﻚ ﺳﺎﺧﺘﻤﺎن ﺑﺎ ﭼﻬﺎر ﻃﺒﻘﻪ ﻗﺮار‬
‫ﮔﺮﻓﺘﻪ اﺳﺖ‬
‫ﻛﻪ از ‪ 1‬ﺗﺎ ‪ 4‬ﻧﺎم ﮔﺬاري ﺷﺪه اﻧﺪ ‪.‬در ﻫﺮ ﻃﺒﻘﻪ ﻳﻚ دﻛﻤﻪ ﻗﺮار ﮔﺮﻓﺘﻪ اﺳﺖ ﻛﻪ اﻓﺮاد ﺑﺮاي درﺧﻮاﺳﺖ اﺳﺘﻔﺎده از آﺳﺎﻧﺴﻮر‬
‫از آن اﺳﺘﻔﺎده ﻣﻲ ﻛﻨﻨﺪ ‪.‬اﮔﺮ ﭘﻴﺸﺘﺮدرﺧﻮاﺳﺘﻲ وﺟﻮد ﻧﺪاﺷﺘﻪ ﺑﺎﺷﺪ ﭘﺲ از ﻓﺸﺮدن دﻛﻤﻪ‪ ،‬آﺳﺎﻧﺴﻮر ﺑﻪ ﺳﻤﺖ ﻃﺒﻘﻪ ي‬
‫درﺧﻮاﺳﺘﻲ ﺣﺮﻛﺖ ﻣﻲ ﻛﻨﺪ ‪.‬اﮔﺮ ﭼﻨﺪ درﺧﻮاﺳﺖ ﻫﻤﺰﻣﺎن وﺟﻮد داﺷﺘﻪ ﺑﺎﺷﻨﺪ آﺳﺎﻧﺴﻮر ﺑﻪ ﺳﻤﺖ ﻧﺰدﻳﻚ ﺗﺮﻳﻦ ﻃﺒﻘﻪ‬
‫ﺣﺮﻛﺖ ﻣﻲ ﻛﻨﺪ )ﺟﻬﺖ ﺣﺮﻛﺖ اﻫﻤﻴﺘﻲ ﻧﺪارد(‪.‬‬
‫ﺗﻮﺟﻪ ﻛﻨﻴﺪ ﻛﻪ اﻳﻦ ﻣﺪل ﺳﺎده ﺷﺪه ي آﺳﺎﻧﺴﻮر اﺳﺖ و دﻛﻤﻪ ﻫﺎي دروﻧﻲ آﺳﺎﻧﺴﻮر ﺣﺬف ﺷﺪه اﻧﺪ و ﺗﻨﻬﺎ رﻓﺘﻦ ﺑﻪ ﻃﺒﻘﻪ‬
‫درﺧﻮاﺳﺘﻲ ﻛﺎﻓﻲ اﺳﺖ ‪.‬ﻣﭽﻨﻴﻦ ﻓﺮض ﻛﻨﻴﺪ ﻫﻨﮕﺎﻣﻲ ﻛﻪ دﻛﻤﻪ ﻓﺸﺮده ﻧﺸﺪه اﺳﺖ ﺑﻪ ﺻﻮرت ﻏﻴﺮﻗﻄﻌﻲ ﻣﻲ ﺗﻮاﻧﺪ در ﻫﺮ‬
‫زﻣﺎﻧﻲ ﻓﺸﺮده ﺷﻮد‪.‬‬
‫راﻫﻨﻤﺎﻳﻲ‪ :‬از ﻗﺎﺑﻠﻴﺖ ‪ MODULE‬ﺑﻪ ﺻﻮرت زﻳﺮ اﺳﺘﻔﺎده ﻛﻨﻴﺪ‪:‬‬
‫‪٢‬‬
‫درﺳﺘﻲ ﻳﺎﺑﻲ ﺳﻴﺴﺘﻢ ﻫﺎي واﻛﻨﺸﻲ‬
‫ﺗﻤﺮﻳﻦ ﺳﺮي اول‬
‫ﻣﻄﻤﺌﻦ ﺷﻮﻳﺪ وﻳﮋﮔﻲ ﻫﺎي زﻳﺮ در ﻣﺪل ﺷﻤﺎ ﺑﺮﻗﺮار ﻫﺴﺘﻨﺪ‪ ) .‬آﻧﻬﺎ را ﺑﻪ ﺻﻮرت رﺳﻤﻲ ﺑﺎ ﻣﻨﻄﻖ ﺑﻴﺎن ﻛﺮده و در اﺑﺰار‬
‫‪ NuSMV‬وارﺳﻲ ﻧﻤﺎﻳﻴﺪ‪ (.‬اﮔﺮ وﻳﮋﮔﻲ ﻫﺎي دﻳﮕﺮي را ﻧﻴﺰ ﻻزم ﻣﻲ داﻧﻴﺪ ﻛﻪ در اﻳﻨﺠﺎ ذﻛﺮ ﻧﺸﺪه اﻧﺪ‪ ،‬آ ﻧﻬﺎ را ﺑﻴﺎﻓﺰاﻳﻴﺪ‪.‬‬
‫ﻛﻠﻴﺪ ﭘﻴﺶ از رﺳﻴﺪن آﺳﺎﻧﺴﻮر ﺧﺎﻣﻮش ﻧﻤﻲ ﺷﻮد‪ .‬ﻣﻨﻈﻮر از روﺷﻦ ﻳﺎ ﻓﺸﺮده ﺑﻮدن‪ TRUE ،‬ﺑﻮدن ﻣﺘﻐﻴﺮ ‪pressed‬‬
‫اﺳﺖ‪.‬‬
‫ آﺳﺎﻧﺴﻮر ﻛﻠﻴﺪ ﺧﺎﻣﻮش را دوﺑﺎره ﺧﺎﻣﻮش ﻧﻤﻲ ﻛﻨﺪ ‪.‬‬‫ آﺳﺎﻧﺴﻮر ﻫﺮﮔﺰ دو ﻃﺒﻘﻪ را در ﻳﻚ ﮔﺎم زﻣﺎﻧﻲ ﻃﻲ ﻧﻤﻲ ﻛﻨﺪ‪.‬‬‫ اﮔﺮ دﻛﻤﻪ اي ﻓﺸﺮده ﻧﺸﺪه‪ ،‬آﺳﺎﻧﺴﻮر ﺑﺎﻳﺪ ﺛﺎﺑﺖ ﺑﻤﺎﻧﺪ‪.‬‬‫ اﮔﺮ دﻛﻤﻪﻫﺎ ﻣﻜﺮرا)‪ (infinitely often‬ﻓﺸﺮده ﺷﻮﻧﺪ‪ ،‬آﺳﺎﻧﺴﻮر ﻫﺮﮔﺰ ﻧﺨﻮاﻫﺪ اﻳﺴﺘﺎد‪.‬‬‫آﻳﺎ وﻳﮋﮔﻲ ﻫﺎي زﻳﺮ ﻧﻴﺰ ﺑﺮﻗﺮار ﻫﺴﺘﻨﺪ؟ ﭼﺮا؟‬
‫‪ -1‬اﮔﺮ دﻛﻤﻪ ﻃﺒﻘﻪي ‪i‬ام ﻓﺸﺮده ﺷﻮد‪ ،‬آﺳﺎﻧﺴﻮر ﺑﺎﻻﺧﺮه ﺑﻪ ﻃﺒﻘﻪي ‪i‬ام ﻣﻲ رﺳﺪ‪.‬‬
‫‪ -2‬آﺳﺎﻧﺴﻮر ﻫﺮ ﻃﺒﻘﻪ را ﺑﻲ ﻧﻬﺎﻳﺖ ﺑﺎر ﻣﻼﻗﺎت ﻣﻲ ﻛﻨﺪ‪.‬‬
‫ﺳﻮال ‪ -4‬ﺗﻤﺮﻳﻦ ‪ 5.24‬ﻛﺘﺎب‬
‫ﺑﺎ ذﻛﺮ دﻟﻴﻞ ﻧﺸﺎن دﻫﻴﺪ ﻛﺪاﻣﻴﻚ از ﻓﺮﻣﻮلﻫﺎي ‪ LTL‬زﻳﺮ ارﺿﺎﭘﺬﻳﺮ و ﻛﺪاﻣﻴﻚ ﻣﻌﺘﺒﺮ اﺳﺖ‪ .‬در ﺻﻮرت ارﺿﺎﭘﺬﻳﺮ ﻧﺒﻮدن‪،‬‬
‫ﻣﺜﺎل ﻧﻘﺾ اراﺋﻪ دﻫﻴﺪ‪.‬‬
‫‪٣‬‬