Changeset 315 for rubycfg_asp/trunk/asp_dcre/test/test_task1.c
- Timestamp:
- Jul 23, 2017, 2:29:40 PM (7 years ago)
- File:
-
- 1 edited
Legend:
- Unmodified
- Added
- Removed
-
rubycfg_asp/trunk/asp_dcre/test/test_task1.c
-
Property svn:mime-type
changed from
text/x-csrc
totext/x-csrc; charset=UTF-8
r313 r315 6 6 * Graduate School of Information Science, Nagoya Univ., JAPAN 7 7 * 8 * ä¸è¨èä½æ¨©è 9 ã¯ï¼ä»¥ä¸ã®(1)ï½(4)ã®æ¡ä»¶ãæºããå ´åã«éãï¼æ¬ã½ããã¦ã§ 10 * ã¢ï¼æ¬ã½ããã¦ã§ã¢ãæ¹å¤ãããã®ãå«ãï¼ä»¥ä¸åãï¼ã使ç¨ã»è¤è£½ã»æ¹ 11 * å¤ã»åé 12 å¸ï¼ä»¥ä¸ï¼å©ç¨ã¨å¼ã¶ï¼ãããã¨ãç¡åã§è¨±è«¾ããï¼ 13 * (1) æ¬ã½ããã¦ã§ã¢ãã½ã¼ã¹ã³ã¼ãã®å½¢ã§å©ç¨ããå ´åã«ã¯ï¼ä¸è¨ã®èä½ 14 * 権表示ï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãï¼ãã®ã¾ã¾ã®å½¢ã§ã½ã¼ 15 * ã¹ã³ã¼ãä¸ã«å«ã¾ãã¦ãããã¨ï¼ 16 * (2) æ¬ã½ããã¦ã§ã¢ãï¼ã©ã¤ãã©ãªå½¢å¼ãªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 17 * ç¨ã§ããå½¢ã§åé 18 å¸ããå ´åã«ã¯ï¼åé 19 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨ 20 * è 21 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®èä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ 22 * ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 23 * (3) æ¬ã½ããã¦ã§ã¢ãï¼æ©å¨ã«çµã¿è¾¼ããªã©ï¼ä»ã®ã½ããã¦ã§ã¢éçºã«ä½¿ 24 * ç¨ã§ããªãå½¢ã§åé 25 å¸ããå ´åã«ã¯ï¼æ¬¡ã®ããããã®æ¡ä»¶ãæºããã 26 * ã¨ï¼ 27 * (a) åé 28 å¸ã«ä¼´ãããã¥ã¡ã³ãï¼å©ç¨è 29 ããã¥ã¢ã«ãªã©ï¼ã«ï¼ä¸è¨ã®è 30 * ä½æ¨©è¡¨ç¤ºï¼ãã®å©ç¨æ¡ä»¶ããã³ä¸è¨ã®ç¡ä¿è¨¼è¦å®ãæ²è¼ãããã¨ï¼ 31 * (b) åé 32 å¸ã®å½¢æ 33 ãï¼å¥ã«å®ããæ¹æ³ã«ãã£ã¦ï¼TOPPERSããã¸ã§ã¯ãã« 34 * å ±åãããã¨ï¼ 35 * (4) æ¬ã½ããã¦ã§ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ 36 * 害ãããï¼ä¸è¨èä½æ¨©è 37 ããã³TOPPERSããã¸ã§ã¯ããå 38 責ãããã¨ï¼ 39 * ã¾ãï¼æ¬ã½ããã¦ã§ã¢ã®ã¦ã¼ã¶ã¾ãã¯ã¨ã³ãã¦ã¼ã¶ããã®ãããªãç 40 * ç±ã«åºã¥ãè«æ±ãããï¼ä¸è¨èä½æ¨©è 41 ããã³TOPPERSããã¸ã§ã¯ãã 42 * å 43 責ãããã¨ï¼ 8 * 上記著作権者は,以下の(1)~(4)の条件を満たす場合に限り,本ソフトウェ 9 * ア(本ソフトウェアを改変したものを含む.以下同じ)を使用・複製・改 10 * 変・再配布(以下,利用と呼ぶ)することを無償で許諾する. 11 * (1) 本ソフトウェアをソースコードの形で利用する場合には,上記の著作 12 * 権表示,この利用条件および下記の無保証規定が,そのままの形でソー 13 * スコード中に含まれていること. 14 * (2) 本ソフトウェアを,ライブラリ形式など,他のソフトウェア開発に使 15 * 用できる形で再配布する場合には,再配布に伴うドキュメント(利用 16 * 者マニュアルなど)に,上記の著作権表示,この利用条件および下記 17 * の無保証規定を掲載すること. 18 * (3) 本ソフトウェアを,機器に組み込むなど,他のソフトウェア開発に使 19 * 用できない形で再配布する場合には,次のいずれかの条件を満たすこ 20 * と. 21 * (a) 再配布に伴うドキュメント(利用者マニュアルなど)に,上記の著 22 * 作権表示,この利用条件および下記の無保証規定を掲載すること. 23 * (b) 再配布の形態を,別に定める方法によって,TOPPERSプロジェクトに 24 * 報告すること. 25 * (4) 本ソフトウェアの利用により直接的または間接的に生じるいかなる損 26 * 害からも,上記著作権者およびTOPPERSプロジェクトを免責すること. 27 * また,本ソフトウェアのユーザまたはエンドユーザからのいかなる理 28 * 由に基づく請求からも,上記著作権者およびTOPPERSプロジェクトを 29 * 免責すること. 44 30 * 45 * æ¬ã½ããã¦ã§ã¢ã¯ï¼ç¡ä¿è¨¼ã§æä¾ããã¦ãããã®ã§ããï¼ä¸è¨èä½æ¨©è 46 ã 47 * ãã³TOPPERSããã¸ã§ã¯ãã¯ï¼æ¬ã½ããã¦ã§ã¢ã«é¢ãã¦ï¼ç¹å®ã®ä½¿ç¨ç®ç 48 * ã«å¯¾ããé©åæ§ãå«ãã¦ï¼ãããªãä¿è¨¼ãè¡ããªãï¼ã¾ãï¼æ¬ã½ããã¦ã§ 49 * ã¢ã®å©ç¨ã«ããç´æ¥çã¾ãã¯éæ¥çã«çãããããªãæ害ã«é¢ãã¦ãï¼ã 50 * ã®è²¬ä»»ãè² ããªãï¼ 31 * 本ソフトウェアは,無保証で提供されているものである.上記著作権者お 32 * よびTOPPERSプロジェクトは,本ソフトウェアに関して,特定の使用目的 33 * に対する適合性も含めて,いかなる保証も行わない.また,本ソフトウェ 34 * アの利用により直接的または間接的に生じたいかなる損害に関しても,そ 35 * の責任を負わない. 51 36 * 52 37 * $Id$ … … 54 39 55 40 /* 56 * ã¿ã¹ã¯ç®¡çã¢ã¸ã¥ã¼ã«ã®ãã¹ã(1) 57 * 58 * ããã¹ãã®ç®çã 59 * 60 * make_runnableã¨make_non_runnableãç¶²ç¾ 61 çã«ãã¹ãããï¼ 62 * 63 * ããã¹ãé 64 ç®ã 65 * 66 * (A) å®è¡ç¶æ 67 ã®ã¿ã¹ã¯ãããé«ãåªå 68 度ã®ã¿ã¹ã¯ãå®è¡ã§ããç¶æ 69 ã«ãã 70 * (A-1) ãã£ã¹ãããä¿çç¶æ 71 ã§ã¯ãªãå ´å 72 * (A-2) ãã£ã¹ãããä¿çç¶æ 73 ã®å ´å 74 * (B) å®è¡ç¶æ 75 ã®ã¿ã¹ã¯ã¨åãåªå 76 度ã®ã¿ã¹ã¯ãå®è¡ã§ããç¶æ 77 ã«ãã 78 * ï¼åãåªå 79 度ã®ã¿ã¹ã¯ã®ä¸ã®æ«å°¾ã«å 80 ¥ããã¨ã確èªãã 81 * (C) å®è¡ç¶æ 82 ã®ã¿ã¹ã¯ãããä½ãåªå 83 度ã®ã¿ã¹ã¯ãå®è¡ã§ããç¶æ 84 ã«ãã 85 * ï¼åãåªå 86 度ã®ã¿ã¹ã¯ã®ä¸ã®æ«å°¾ã«å 87 ¥ããã¨ã確èªãã 88 * (D) å®è¡ã§ããç¶æ 89 ã®ã¿ã¹ã¯ããªãç¶æ 90 ã§ï¼ã¿ã¹ã¯ãå®è¡ã§ããç¶æ 91 ã«ãã 92 * ï¼ãã®å ´åã¯ï¼ãã£ã¹ãããä¿çç¶æ 93 ã§ã¯ãªã 94 * (E) ãã£ã¹ãããä¿çç¶æ 95 ã§ï¼å®è¡ç¶æ 96 ã«ãªãã¹ãã ãå®è¡å¯è½ç¶æ 97 ã¿ã¹ 98 * ã¯ãããé«ãåªå 99 度ã®ã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 100 ã«ãã 101 * (F) ãã£ã¹ãããä¿çç¶æ 102 ã§ï¼å®è¡ç¶æ 103 ã«ãªãã¹ãã ãå®è¡å¯è½ç¶æ 104 ã¿ã¹ 105 * ã¯ã¨åãåªå 106 度ã®ã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 107 ã«ãã 108 * (G) ãã£ã¹ãããä¿çç¶æ 109 ã§ï¼å®è¡ç¶æ 110 ã«ãªãã¹ãã ãå®è¡å¯è½ç¶æ 111 ã¿ã¹ 112 * ã¯ãããä½ãåªå 113 度ã®ã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 114 ã«ãã 115 * (H) å®è¡ç¶æ 116 ã®ã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 117 ã§ãªãã 118 * (H-1) å®è¡ã§ããç¶æ 119 ã®ã¿ã¹ã¯ããªããªãå ´å 120 * (H-2) åä¸åªå 121 度ã®ã¿ã¹ã¯ããªããªãå ´å 122 * (H-3) åä¸åªå 123 度ã®ã¿ã¹ã¯ããªããªããªãå ´å 124 * (I) å®è¡å¯è½ç¶æ 125 ã®ã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 126 ã§ãªãã 127 * (I-1) åä¸åªå 128 度ã®ã¿ã¹ã¯ããªããªãå ´å 129 * (I-2) åä¸åªå 130 度ã®ã¿ã¹ã¯ããªããªããªãå ´å 131 * (J) ãã£ã¹ãããä¿çç¶æ 132 ã§ï¼å®è¡ç¶æ 133 ã«ãªãã¹ãã ãå®è¡å¯è½ç¶æ 134 ã¨ãªã£ 135 * ã¦ããã¿ã¹ã¯ãï¼å®è¡ã§ããç¶æ 136 ã§ãªãã 137 * (J-1) åä¸åªå 138 度ã®ã¿ã¹ã¯ããªããªãå ´å 139 * (J-2) åä¸åªå 140 度ã®ã¿ã¹ã¯ããªããªããªãå ´å 141 * (K) ãã£ã¹ãããä¿çç¶æ 142 ã§ï¼å®è¡å¯è½ç¶æ 143 ã«ãªãã¹ãã ãå®è¡ç¶æ 144 ã®ã¿ 145 * ã¹ã¯ãï¼å®è¡ã§ããç¶æ 146 ã§ãªãã 147 * ï¼ãã£ã¹ãããä¿çã§ã¯ï¼å®è¡ç¶æ 148 ã®ã¿ã¹ã¯ãå®è¡ã§ããç¶æ 149 ã§ãªã 150 * ãªããããªé·ç§»ãèµ·ãããã¨ãã§ããªãããï¼ãã®ç¶æ³ã¯èµ·ãããªãï¼ 151 * 152 * ã使ç¨ãªã½ã¼ã¹ã 153 * 154 * TASK1: ä¸åªå 155 度ã¿ã¹ã¯ï¼ã¡ã¤ã³ã¿ã¹ã¯ï¼æåããèµ·å 156 * TASK2: é«åªå 157 度ã¿ã¹ã¯ 158 * TASK3: ä¸åªå 159 度ã¿ã¹ã¯ 160 * TASK4: ä¸åªå 161 度ã¿ã¹ã¯ 162 * TASK5: ä½åªå 163 度ã¿ã¹ã¯ 164 * TASK6: ä½åªå 165 度ã¿ã¹ã¯ 166 * ALM1: ã¢ã©ã¼ã ãã³ãã© 167 * 168 * ããã¹ãã·ã¼ã±ã³ã¹ã 169 * 170 * == TASK1ï¼åªå 171 度ï¼ä¸ï¼== 41 * タスク管理モジュールのテスト(1) 42 * 43 * 【テストの目的】 44 * 45 * make_runnableとmake_non_runnableを網羅的にテストする. 46 * 47 * 【テスト項目】 48 * 49 * (A) 実行状態のタスクよりも高い優先度のタスクを実行できる状態にする 50 * (A-1) ディスパッチ保留状態ではない場合 51 * (A-2) ディスパッチ保留状態の場合 52 * (B) 実行状態のタスクと同じ優先度のタスクを実行できる状態にする 53 * !同じ優先度のタスクの中の末尾に入ることを確認する 54 * (C) 実行状態のタスクよりも低い優先度のタスクを実行できる状態にする 55 * !同じ優先度のタスクの中の末尾に入ることを確認する 56 * (D) 実行できる状態のタスクがない状態で,タスクを実行できる状態にする 57 * !この場合は,ディスパッチ保留状態ではない 58 * (E) ディスパッチ保留状態で,実行状態になるべきだが実行可能状態タス 59 * クよりも高い優先度のタスクを,実行できる状態にする 60 * (F) ディスパッチ保留状態で,実行状態になるべきだが実行可能状態タス 61 * クと同じ優先度のタスクを,実行できる状態にする 62 * (G) ディスパッチ保留状態で,実行状態になるべきだが実行可能状態タス 63 * クよりも低い優先度のタスクを,実行できる状態にする 64 * (H) 実行状態のタスクを,実行できる状態でなくす 65 * (H-1) 実行できる状態のタスクがなくなる場合 66 * (H-2) 同一優先度のタスクがなくなる場合 67 * (H-3) 同一優先度のタスクがなくならない場合 68 * (I) 実行可能状態のタスクを,実行できる状態でなくす 69 * (I-1) 同一優先度のタスクがなくなる場合 70 * (I-2) 同一優先度のタスクがなくならない場合 71 * (J) ディスパッチ保留状態で,実行状態になるべきだが実行可能状態となっ 72 * ているタスクを,実行できる状態でなくす 73 * (J-1) 同一優先度のタスクがなくなる場合 74 * (J-2) 同一優先度のタスクがなくならない場合 75 * (K) ディスパッチ保留状態で,実行可能状態になるべきだが実行状態のタ 76 * スクを,実行できる状態でなくす 77 * !ディスパッチ保留では,実行状態のタスクが実行できる状態でなく 78 * なるような遷移を起こすことができないため,この状況は起こらない. 79 * 80 * 【使用リソース】 81 * 82 * TASK1: 中優先度タスク,メインタスク,最初から起動 83 * TASK2: 高優先度タスク 84 * TASK3: 中優先度タスク 85 * TASK4: 中優先度タスク 86 * TASK5: 低優先度タスク 87 * TASK6: 低優先度タスク 88 * ALM1: アラームハンドラ 89 * 90 * 【テストシーケンス】 91 * 92 * == TASK1(優先度:中)== 172 93 * 1: act_tsk(TASK2) ... (A-1) 173 * == TASK2ï¼åªå 174 度ï¼é«ï¼== 94 * == TASK2(優先度:高)== 175 95 * 2: slp_tsk() ... (H-2) 176 * == TASK1 ï¼ç¶ãï¼==96 * == TASK1(続き)== 177 97 * 3: act_tsk(TASK3) ... (B) 178 98 * 4: act_tsk(TASK4) ... (B) 179 99 * 5: slp_tsk() ... (H-3) 180 * == TASK3ï¼åªå 181 度ï¼ä¸ï¼== 100 * == TASK3(優先度:中)== 182 101 * 6: slp_tsk() ... (H-3) 183 * == TASK4ï¼åªå 184 度ï¼ä¸ï¼== 102 * == TASK4(優先度:中)== 185 103 * 7: wup_tsk(TASK1) 186 104 * 8: slp_tsk() ... (H-3) 187 * == TASK1 ï¼ç¶ãï¼==105 * == TASK1(続き)== 188 106 * 9: act_tsk(TASK5) ... (C) 189 107 * 10: act_tsk(TASK6) ... (C) … … 193 111 * 14: rsm_tsk(TASK6) ... (C) 194 112 * 15: slp_tsk() ... (H-2) 195 * == TASK5ï¼åªå 196 度ï¼ä½ï¼== 113 * == TASK5(優先度:低)== 197 114 * 16: slp_tsk() ... (H-3) 198 * == TASK6ï¼åªå 199 度ï¼ä½ï¼== 115 * == TASK6(優先度:低)== 200 116 * 17: dis_dsp() 201 117 * 18: wup_tsk(TASK1) ... (A-2) … … 206 122 * 23: sus_tsk(TASK1) ... (J-2) 207 123 * 24: ena_dsp() 208 * == TASK3 ï¼ç¶ãï¼==124 * == TASK3(続き)== 209 125 * 25: slp_tsk() ... (H-3) 210 * == TASK4 ï¼ç¶ãï¼==126 * == TASK4(続き)== 211 127 * 26: slp_tsk() ... (H-2) 212 * == TASK6 ï¼ç¶ãï¼==128 * == TASK6(続き)== 213 129 * 27: dis_dsp() 214 130 * 28: rsm_tsk(TASK1) ... (A-2) 215 131 * 29: wup_tsk(TASK5) ... (G) 216 132 * 30: ena_dsp() 217 * == TASK1 ï¼ç¶ãï¼==133 * == TASK1(続き)== 218 134 * 31: slp_tsk() ... (H-2) 219 * == TASK6 ï¼ç¶ãï¼==135 * == TASK6(続き)== 220 136 * 32: slp_tsk() ... (H-3) 221 * == TASK5 ï¼ç¶ãï¼==137 * == TASK5(続き)== 222 138 * 33: sta_alm(ALM1, 10) 223 139 * 34: slp_tsk() ... (H-1) … … 227 143 * 36: iwup_tsk(TASK1) ... (D) 228 144 * 37: RETURN 229 * == TASK1 ï¼ç¶ãï¼==145 * == TASK1(続き)== 230 146 * 38: END 231 147 */ -
Property svn:mime-type
changed from
Note:
See TracChangeset
for help on using the changeset viewer.