Modeling
Modeling
• ﻣﻘﺪﻣﻪ
• ﺗﻌﺮﻳﻒ ﻣﺪل
• وﻳﮋﮔﻲ ﻫﺎي زﺑﺎن ﻫﺎي ﺗﻮﺻﻴﻒ ﻣﺪل
• ﻣﺮوري ﺑﺮ روش ﻫﺎي ﻣﺪل ﺳﺎزي ﻣﺘﻔﺎوت
• ﻫﺪف اﻳﻦ ﻣﺮﺣﻠﻪ ﻛﺴﺐ ﺳﺮﻳﻊ اﻃﻼﻋﺎت و ﺗﺤﻠﻴﻞ اوﻟﻴﻪ ﺳﻴﺴﺘﻢ ﺟﻬﺖ ﺷﺮوع
ﻃﺮاﺣﻲ اﺳﺖ.
• اﻟﺒﺘﻪ ﻣﺪل ﺳﺎزي در اداﻣﻪ ﻃﺮاﺣﻲ و در ﻣﺮاﺣﻞ دﻳﮕﺮ ﻧﻴﺰ اﺳﺘﻔﺎده ﻣﻲ ﮔﺮدد.
• ﻳﻚ ﻣﺪل ﻣﻴﻨﻴﻤﺎل اﺳﺖ اﮔﺮ ﻫﺮ ﮔﻮﻧﻪ رﻓﺘﺎر ﻳﺎ وﻳﮋﮔﻲ ﻏﻴﺮﻣﺮﺗﺒﻂ ﻣﻮﺟﻮدﻳﺖ اﺻﻠﻲ
را ﺷﺎﻣﻞ ﻧﺸﻮد.
• ﭘﺸﺘﻴﺒﺎﻧﻲ از ﺗﻮازي
• ﭘﺸﺘﻴﺒﺎﻧﻲ از اﺳﺘﺜﻨﺎﺋﺎت
• ﺑﻪ ﻛﺎرﮔﻴﺮي زﺑﺎن ﻫﺎي ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ ﺑﺮاي ﺗﻮﺻﻴﻒ روال ﻫﺎي ﭘﺮدازﺷﻲ
• ﻗﺎﺑﻠﻴﺖ اﺟﺮا
• ﺧﻮاﻧﺎ ﺑﻮدن
• ﭘﺎﻳﺎن ﭘﺬﻳﺮي
• ﻳﻚ زﺑﺎن ﻧﻤﻲ ﺗﻮاﻧﺪ ﻫﻤﻪ اﻳﻦ وﻳﮋﮔﻲ ﻫﺎ را ﻳﻚ ﺟﺎ اراﺋﻪ دﻫﺪ .ﻟﺬا ﻋﻤﻮﻣﺎً
ﺑﺎﻳﺴﺘﻲ از ﺗﺮﻛﻴﺐ آن ﻫﺎ ﺟﻬﺖ ﺗﻮﺻﻴﻒ ﻳﻚ ﺳﻴﺴﺘﻢ اﺳﺘﻔﺎده ﺷﻮد.
• ﺗﻌﻴﻴﻦ وﻳﮋﮔﻲ ﻫﺎ و ﻋﻤﻠﻜﺮد ﻛﻠﻲ ﺳﺎﻣﺎﻧﻪ ﺗﻮﺳﻂ ﻳﻚ زﺑﺎن ﻣﺤﺎوره و ﻏﻴﺮ رﺳﻤﻲ ﺑﻪ
ﻣﻨﻈﻮر دﺳﺘﻴﺎﺑﻲ ﺑﻪ ﻳﻚ ﺗﻮﺻﻴﻒ اوﻟﻴﻪ
• اﺳﺘﺎﻧﺪارد UML
• ﻣﻨﺸﻲ ﺗﻠﻔﻨﻲ
ﭘﺨﺶ ﭘﻴﺎم ﺑﻌﺪي
• ﻣﻨﺸﻲ ﺗﻠﻔﻨﻲ
ﺗﻤﺎس ﮔﻴﺮﻧﺪه ﺗﻠﻔﻦ ﻣﻨﺸﻲ ﺗﻠﻔﻨﻲ
ﺷﻤﺎره ﮔﻴﺮي
زﻧﮓ
اﻧﺘﻈﺎر
ﺑﺮداﺷﺘﻦ ﮔﻮﺷﻲ
ﭘﺨﺶ ﭘﻴﺎم ﺧﻮش آﻣﺪ
ﭘﺨﺶ ﭘﻴﺎم ﺧﻮش آﻣﺪ
ﺑﻮق ﺷﺮوع
ﺑﻮق ﺷﺮوع
ارﺳﺎل ﭘﻴﺎم ﺻﻮﺗﻲ
درﻳﺎﻓﺖ و ﺿﺒﻂ ﭘﻴﺎم ﺻﻮﺗﻲ
ﮔﺬاﺷﺘﻦ ﮔﻮﺷﻲ
ﭘﺎﻳﺎن ﺿﺒﻂ
• ﻣﺤﻮر ﻋﻤﻮدي زﻣﺎن واﻗﻌﻲ و ﻣﺤﻮر اﻓﻘﻲ ارﺗﺒﺎط اﺟﺰاء را ﺑﻪ ﻫﻤﺮاه ﻓﺎﺻﻠﻪ آن ﻫﺎ
ﻧﺴﺒﺖ ﺑﻪ ﻫﻢ ﻧﻤﺎﻳﺶ ﻣﻲ دﻫﺪ.
• اﺟﺰاء ﻣﺤﺎﺳﺒﺎﺗﻲ
ﮔﻮﻳﻨﺪ. را ﻣﻮﺧﺮ ﺑﻼﻓﺼﻞ و ﺑﻪ ﻫﻤﻴﻦ ﺻﻮرت را ﻣﻘﺪم ﺑﻼﻓﺼﻞ •
را ﻣﻘﺪم ﺑﺎﺷﺪ، و • اﮔﺮ در ﮔﺮاف ﻳﻚ ﻣﺴﻴﺮ ﺑﺎ ﻃﻮل ﺑﻴﺶ از ﻳﻚ ﺑﻴﻦ
و ﺑﻪ ﻫﻤﻴﻦ ﺻﻮرت را ﻣﻮﺧﺮ ﮔﻮﻳﻨﺪ.
𝜏
𝜏 𝜏
𝜏 𝜏
𝜏
𝜏 𝜏
𝜏 𝜏
𝜏 𝜏
𝜏 𝜏
• Von-Neumann
اﻣﻴﺮ ﺧﻮرﺳﻨﺪي 25
ﻣﺎﺷﻴﻦ ﺣﺎﻟﺖ ﻣﺘﻨﺎﻫﻲ
• ﻣﺎﺷﻴﻦ ﺣﺎﻟﺖ ﻗﻄﻌﻲ :در ﻫﺮ ﻟﺤﻈﻪ ﻳﻚ ﺣﺎﻟﺖ ﻓﻌﺎل اﺳﺖ.
• ﻣﺎﺷﻴﻦ ﺣﺎﻟﺖ ﺳﻨﻜﺮون :ﺗﻐﻴﻴﺮ ﺣﺎﻟﺖ ﺗﻨﻬﺎ در ﻟﺒﻪ ﭘﺎﻟﺲ ﺳﺎﻋﺖ رخ ﻣﻲ دﻫﺪ.
f
g h i j
A B C D E
k k k k
k
m
Z
S
f
g h i j
A B C D E
k
m
Z
• ﻣﻲ ﺗﻮان درون ﻳﻚ ﺣﺎﻟﺖ ﺳﻄﺢ ﺑﺎﻻ ،ﻳﻚ زﻳﺮ ﺣﺎﻟﺖ ﭘﻴﺶ ﻓﺮض ﺗﻌﻴﻴﻦ ﻧﻤﻮد.
S
f
g h i j
A B C D E
k
m
Z
• اﻣﻜﺎن ﻧﮕﻪ داري ﺗﺎرﻳﺨﭽﻪ )ﺣﺎﻟﺖ ﻗﺒﻠﻲ ﭘﻴﺶ از ﺗﺮك ﺣﺎﻟﺖ ﺳﻄﺢ ﺑﺎﻻ( وﺟﻮد دارد.
S
f
g h i j
A B C D E
H
k
m
Z
ﺧﺎﻣﻮش
a timeout
20ms
swap
e/a=b e/b=a
ﺑﺮاي ﺳﻴﺴﺘﻢ ﻫﺎي ﮔﺴﺘﺮده از زﺑﺎن ﻫﺎي ﺳﻨﻜﺮون اﺳﺘﻔﺎده ﻣﻲ ﺷﻮد ﻛﻪ در آن ﻛﻞ
ﻣﺠﻤﻮﻋﻪ ﻳﻚ ﭘﺎﻟﺲ ﺳﺎﻋﺖ واﺣﺪ دارد.
A
ورودي ﺧﺮوﺟﻲ
f/v
g/w h/x i/y j/z
A B C D E
P1
A B C D E
g h i j f k
w x y z v
B C D E A A
اﻣﻴﺮ ﺧﻮرﺳﻨﺪي 36
ﻣﺜﺎل دﻳﮕﺮ
P1
Timer T
A B C D E
g h i j f T
w x y Set T v
B C D E Reset T
A A
اﻣﻴﺮ ﺧﻮرﺳﻨﺪي 37
ارﺳﺎل ﭘﻴﺎم )اداﻣﻪ(
• ﺑﺮاي ﻫﺮ ﻓﺮاﻳﻨﺪ ﻳﻚ ﺻﻒ در ﻧﻈﺮ ﮔﺮﻓﺘﻪ ﻣﻲ ﺷﻮد ﻛﻪ ﭘﻴﺎم ﻫﺎي درﻳﺎﻓﺘﻲ از ﺳﺎﻳﺮ ﻓﺮاﻳﻨﺪﻫﺎ را
درون ﺧﻮد ذﺧﻴﺮه ﻣﻲ ﻛﻨﺪ.
P3
FIFO
FIFO
P1
FIFO
P2
• ﻧﻤﺎﻳﺶ دﻫﻨﺪه ﭼﮕﻮﻧﮕﻲ ﺣﺮﻛﺖ داده ﺑﻴﻦ واﺣﺪﻫﺎي ﭘﺮدازﺷﻲ ﻣﺨﺘﻠﻒ اﺳﺖ.
• زﺑﺎن اﺻﻠﻲ ﺑﺮاي ﺗﻮﺻﻴﻒ اﻳﻦ ﻣﺪل ﻧﻴﺰ ﮔﺮاف ﺟﻬﺖ دار اﺳﺖ.
ﺻﻒ درﺧﻮاﺳﺖ
ﻣﺠﻮز ﭘﺬﻳﺮش
ﻫﺎي ﻣﺸﺘﺮﻳﺎن
ﻟﻴﺴﺖ ﻣﺸﺘﺮﻳﺎن
درﺧﻮاﺳﺖ
زﻣﺎن ﺑﻨﺪي اﺟﺮاي دﺳﺘﻮرات
درﺧﻮاﺳﺖ ﻫﺎ
آدرس ﺷﺒﻜﻪ
ﺳﻴﺴﺘﻢ ﻓﺎﻳﻞ
درﺧﻮاﺳﺖ
ﻛﻨﺘﺮل ﺣﺎﻓﻈﻪ وﻳﺪﺋﻮ
دﻳﺴﻚ واﺳﻂ ﺷﺒﻜﻪ
ﺟﺎﻧﺒﻲ
وﻳﺪﺋﻮ
• اﻳﻦ ﺷﺮاﻳﻂ ﺳﺒﺐ ﻣﻲ ﺷﻮد در ﻫﺮ ﺣﺎﻟﺖ اﻳﻦ ﻣﺪل رﻓﺘﺎر ﻣﺸﺨﺺ داﺷﺘﻪ ﺑﺎﺷﺪ )ﻣﻌﻠﻮم ﺑﺎﺷﺪ(.
• ﺗﺎ زﻣﺎﻧﻲ ﻛﻪ ﺗﻮﻛﻦ ﺗﻌﻴﻴﻦ ﺷﺪه در ﺧﺮوﺟﻲ ﻫﻤﻪ ﻳﺎل ﻫﺎي ورودي ﻳﻚ ﮔﺮه ﻓﺮاﻫﻢ ﻧﺒﺎﺷﺪ اﺟﺮاي
ﭘﺮدازش ﻣﺮﺑﻮط ﺑﻪ آن ﮔﺮه ﺷﺮوع ﻧﻤﻲ ﺷﻮد.
• اﻳﻦ ﻛﺎر ﺳﺒﺐ ﺗﻌﻴﻴﻦ ﻣﻘﺪار ﻣﻮرد ﻧﻴﺎز ﺑﺮاي ﺻﻒ ﻫﺮ ارﺗﺒﺎط ﺑﻪ ﺻﻮرت ﻣﺘﻨﺎﻫﻲ ﻧﻴﺰ ﻣﻲ ﮔﺮدد.
1
• زﻣﺎن ﺑﻪ ﺟﻠﻮ رﻓﺘﻪ و ﺑﻪ ﻣﺤﺾ ﻓﺮا رﺳﻴﺪن زﻣﺎن ﻣﺮﺑﻮط ﺑﻪ روﻳﺪاد ﺳﺮ ﺻﻒ ،آن روﻳﺪاد از ﺻﻒ
ﺧﺎرج ﺷﺪه و ﭘﺮدازش ﻣﻲ ﺷﻮد.
• ﻳﻚ ﺳﺮي زﺑﺎن ﺑﺎ ﮔﺮاﻣﺮ ﺧﺎص ﺑﺮاي اﻳﻦ ﻛﺎر ﻣﻌﺮﻓﻲ ﺷﺪﻧﺪ Verilog :و VHDL
• ﺗﺮﺟﻴﺢ ﺑﺮ اﻳﻦ اﺳﺖ ﻛﻪ از زﺑﺎن ﻫﺎي ﺷﻨﺎﺧﺘﻪ ﺷﺪه ﻣﺎﻧﻨﺪ Cﺑﺮاي اﻳﻦ ﻛﺎر اﺳﺘﻔﺎده ﺷﻮد:
ﺳﻴﺴﺘﻢ
رﻓﺘﺎر )اﻟﮕﻮرﻳﺘﻢ(
ﻣﺠﻤﻮﻋﻪ دﺳﺘﻮرات
اﻧﺘﻘﺎل ﺛﺒﺎت
دروازه ﻫﺎي ﻣﻨﻄﻘﻲ
ﺳﻮﻳﻴﭻ )ﺗﺮاﻧﺰﻳﺴﺘﻮر(
ﻣﺪار
ﻃﺮح ﺟﺎﻧﻤﺎﻳﻲ
ﻓﺮاﻳﻨﺪ ﺳﺎﺧﺖ
• ﻋﻤﻮﻣﺎً ﻛﺘﺎﺑﺨﺎﻧﻪ ﻫﺎﻳﻲ ﻣﺮﺑﻮط ﺑﻪ ﺗﺒﺎدل داده ﺑﻴﻦ روال ﻫﺎ در ﺳﻴﺴﺘﻢ ﻫﺎي ﺗﻮزﻳﻊ ﺷﺪه ﺑﻪ اﻳﻦ
زﺑﺎن ﻫﺎ اﺿﺎﻓﻪ ﻣﻲ ﺷﻮﻧﺪOpenMP ،MPI :
اﻳﺠﺎد ﻓﺮاﻳﻨﺪ ﺑﻪ اﻣﻜﺎن ﻛﻨﺘﺮل ﺗﻮﺻﻴﻒ از ﻃﺮﻳﻖ ﺗﻮﺻﻴﻒ ﺳﺎﺧﺘﺎري ﺗﻮﺻﻴﻒ رﻓﺘﺎري
ﺻﻮرت ﭘﻮﻳﺎ اﺳﺘﺜﻨﺎء ﻫﺎ ﺑﺮﻧﺎﻣﻪ ﻧﻮﻳﺴﻲ
× × × ﻧﻤﻮدار ﺣﺎﻟﺖ
× × VHDL
× × × × SDL
× × × × ﺷﺒﻜﻪ Petri
× Java
SpecC
SystemC
× Ada
UML
SDL / Java
C VHDL
اﻣﻴﺮ ﺧﻮرﺳﻨﺪي 51
UML
• ﻳﻚ زﺑﺎن اﺳﺘﺎﻧﺪارد ﻣﻨﺎﺳﺐ ﺑﺮاي ﺗﻮﺻﻴﻒ اوﻟﻴﻪ ﺳﻴﺴﺘﻢ ﻣﻲ ﺑﺎﺷﺪ.
• ﺑﻪ ﻣﻨﻈﻮر اﺳﺘﻔﺎده در ﺗﻌﻴﻴﻦ وﻳﮋﮔﻲ ﻫﺎي ﺳﻴﺴﺘﻢ ﻫﺎي ﺗﻌﺒﻴﻪ ﺷﺪه رده ﻫﺎي ﻣﺨﺘﻠﻒ از اﻳﻦ زﺑﺎن
ﺗﻌﺮﻳﻒ ﺷﺪه اﻧﺪ:
• وﻳﮋﮔﻲ ﻫﺎ:
ﺗﻮﺻﻴﻒ ﻓﺮاﻳﻨﺪﻫﺎي ﺗﺮﺗﻴﺒﻲ و ارﺗﺒﺎط ﺑﻴﻦ آن ﻫﺎ •
ﻣﺪل زﻣﺎن ﭘﻴﻮﺳﺘﻪ •
ﻣﺪل ﮔﺴﺴﺘﻪ روﻳﺪاد ﮔﺮا •
ﻣﺪل روﻳﺪاد ﮔﺮاي ﺗﻮزﻳﻊ ﺷﺪه •
ﻣﺪل ﻣﺎﺷﻴﻦ ﺣﺎﻟﺖ ﻣﺘﻨﺎﻫﻲ •
ﺷﺒﻜﻪ ﻓﺮاﻳﻨﺪ Kahn •
ﺟﺮﻳﺎن داده ﻫﻤﺰﻣﺎن •
ﻣﺪل ﻣﺤﺎﺳﺒﺎﺗﻲ ﻫﻤﺰﻣﺎن •