±â¼ú¿¬±¸   Safetu-Critical ½Ã½ºÅÛ ¼³°è¸¦ À§ÇÑ Çü½Ä±â¹ý ÀÌ¿ë
 

 

¾ç¼ºÇö | ±¤¿î´ëÇб³ ÀüÀÚ°øÇкΠºÎ±³¼ö
ȲÁ¾±Ô | öµµ½ÅÈ£Åë½Å¿¬±¸ÆÀ ÁÖÀÓ¿¬±¸¿ø
ÀÌÁ¾¿ì | öµµ½ÅÈ£Åë½Å¿¬±¸ÆÀ Ã¥ÀÓ¿¬±¸¿ø

1. ¼­ ·Ð

 ÄÄÇ»ÅÍ ½Ã½ºÅÛÀº ¹°¸®ÀûÀÎ ±¸¼º¼ººÐ(Çϵå¿þ¾î ºÎǰ/¼ÒÇÁÆ®¿þ¾î ¸ðµâ)¿¡¼­ÀÇ °áÇÔ ¶Ç´Â ¼³°è ¿À·ù µî¿¡ ÀÇÇÑ ¿øÀÎÀ¸·Î ÀÎÇØ ½Ã½ºÅÛÀÌ ÀǵµÇÏ´Â ÀÓ¹«¸¦ ¼öÇàÇÏ´Â Áß °íÀåÀ» ÀÏÀ¸Å³ ¼ö  ÀÖ´Ù. ÀÌ·¯ÇÑ °æ¿ì ÃÊ ½Å·Ú¼º°ú ¾ÈÀü¼ºÀ» ¿ä±¸ÇÏ´Â ÀÀ¿ëºÐ¾ß¿¡ ÀÌ¿ëµÇ´Â ½Ã½ºÅÛÀº ÃÖ¼ÒÇÑ À§ÀÇ µÎ °¡Áö ¿øÀÎÀÌ ½Ã½ºÅÛ °íÀå¹ß»ýÀÇ ¿øÀÎÀÌ µÇÁö ¾Êµµ·Ï ÇØ¾ß ÇÑ´Ù. ¹°¸®ÀûÀÎ ºÎǰ¿¡¼­ ¹ß»ý °¡´ÉÇÑ °áÇÔÀ» Ãë±ÞÇÏ´Â ±â¼ú·Î´Â ÇöÀç ¿©ºÐ(Redundancy)°ú ÅõÇ¥±â(Voter)¸¦ ÀÌ¿ëÇÏ´Â ±â¼úÀÌ ´ëÇ¥ÀûÀÎ ±â¼ú·Î ÀÌ¿ëµÇ°í ÀÖÀ¸¸ç, ÀÌ·¯ÇÑ ±â¼úÀ» Àû¿ëÇÑ ½Ã½ºÅÛ¿¡ ´ëÇØ ½Å·Ú¼º Æò°¡´Â ¸¶ÄÚºê ¸ðµ¨¸µ µîÀ» ÀϹÝÀûÀ¸·Î »ç¿ëÇϰí ÀÖ´Ù.
 ¼³°è ¿À·ù ¹®Á¦´Â Ãë±ÞÇϱⰡ ´õ¿í º¹ÀâÇϸç, ÇöÀç »ç¿ëÇϰí ÀÖ´Â ¼³°è¿À·ù Ãë±Þ ±â¼ú¿¡ ´ëÇØ °úÇÐÀûÀ¸·Î Á¤´ç¼ºÀ» È®º¸ÇÒ ¼ö ÀÖ´Â ÀÌ·ÐÀÌ Á¸ÀçÇÏÁö ¾Ê´Â´Ù. ´ÜÁö ¼³°è¿À·ù¸¦ Ãë±ÞÇϱâ À§Çؼ­ °Ë»ç(Testing), ¼³°èÀÇ ´Ù¾çÈ­(N-¹öÀü ÇÁ·Î±×·¡¹Ö, Recovery Block µî), °áÇÔȸÇÇ(Fault-Avoidance) ±â¹ý µîÀÌ Á¦¾ÈµÇ°í ÀÖ´Ù.
 À§ÀÇ ¹æ¹ýµé¿¡ µû¸¥ ¹®Á¦Á¡À¸·Î´Â ù° ½ÃÇèÀ» ¼öÇàÇϴµ¥ À־ ½ÃÇè±â°£ÀÌ ½ÇÇà ºÒ°¡´ÉÇÒ Á¤µµ·Î ±æ´Ù´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¾î 1½Ã°£ µ¿¾ÈÀÇ ½Ã½ºÅÛÀÌ ÀÓ¹«¸¦ ¼öÇàÇϴµ¥ ÀÖ¾î °íÀåÈ®·üÀÌ 10-9¶ó´Â È®·üÀ» ÃøÁ¤Çϱâ À§Çؼ­ 114,000³â ÀÌ»óÀ» ½ÃÇèÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ Á¡µéÀ»  ±Øº¹Çϱâ À§ÇÑ ¹æ¹ýÀ¸·Î ¼³°èÀÇ ´ÙÁßÈ­(Diversity)°¡ ÁÖÀåµÇ°í ÀÖÀ¸¸ç, ÀÌ ¹æ¹ýÀÇ ±âº»ÀûÀÎ °³³äÀº °°Àº ¸í¼¼¼­(Specification)·ÎºÎÅÍ µ¶¸³µÈ ¼³°è ¹× ±¸ÇöÆÀÀ¸·Î ºÎÅÍÀÇ ´ÙÁß¹öÀüÀ» ¸¸µéÀÚ´Â °ÍÀÌ´Ù. ±×¸®°í ÇϳªÀÇ ¹öÀü¿¡¼­ ¹ß»ýÇÏ´Â ¼³°è¿À·ùÀÇ ¿µÇâÀ» Àº´Ð(Masking)Çϱâ À§Çؼ­ ÀÓ°èÅõÇ¥±â(Threshold Voter)°¡ ÀÌ¿ëµÇ¾îÁö°í ÀÖ´Ù.
 ÀÌ ¹æ¹ýÀº ¼³°è»óÀÇ °áÇÔÀÌ µ¶¸³ÀûÀÎ(Independence) °áÇÔÀ̶ó´Â °ÍÀÌ È®À뵃 ¶§ °¡´ÉÇÒ °ÍÀÌ´Ù. ±×·¯³ª ¹°¸®Àû ¹ýÄ¢¿¡ ÀÇÇÑ Çϵå¿þ¾î °áÇÔ°ú´Â ´Þ¸®, ¼ÒÇÁÆ®¿þ¾î ¸ðµâÀº ÁÖ°üÀûÀÎ  ³í¸® ÀÇÇϱ⠶§¹®¿¡ °¢ ¹öÀüÀÇ °áÇÔÀÌ µ¶¸³ÀûÀÎ °áÇÔÀ̶ó È®½ÅÇÒ ¼ö ¾ø´Ù. µû¶ó¼­ ÃʽŷڼºÀ» ÇÊ¿ä·Î ÇÏ´Â Safety-criticalÇÑ ½Ã½ºÅÛÀ» À§Çؼ­´Â ´ÜÁö ÇϳªÀÇ ¹æ¹ýÀ» µÉ ¼ö ÀÖÀ» Áö¶óµµ ±Ã±ØÀûÀÎ ¹æ¹ýÀº ¾Æ´Ï´Ù. µû¶ó¼­ À¯¿ëÇÑ ½ÃÇè½Ã°£ ³»¿¡¼­ ÃÊ ½Å·Ú¼ºÀ» ¼ºÃëÇÒ ¼ö ÀÖ´Â ¼³°è ´Ù¾çÈ­´Â ºÒ°¡´ÉÇÏ´Ù. °á°úÀûÀ¸·Î ¼³°è ´Ù¾çÈ­ ±â¹ýÀº ½ÇÁ¦ÀûÀ¸·Î ÃæºÐÇÑ °ËÁõ ¾øÀÌ´Â ÃʽŷڼºÀ» ¸¸Á·ÇÒ ¼ö ¾ø´Ù.
 Ãʽŷڼº ½Ã½ºÅÛÀº Åë»ó 1-10-9 ½Å·Úµµ °¡Áø ½Ã½ºÅÛÀ» ÀǹÌÇϸç, ÀÌ´Â Á¤·®È­ ¿µ¿ªÀ» ³Ñ¾î¼­±â ¶§¹®¿¡, ÀÌ¿ë °¡´ÉÇÑ °¡Àå ¾ö°ÝÇÑ ¹æ¹ý¿¡ ÀÇÇØ¼­ ½Ã½ºÅÛÀ» ¼³°èÇÏ´Â ¹æ¹ýÀ» »ç¿ëÇÏ¿©¾ß ÇÑ´Ù. µû¶ó¼­ ¾ð±ÞÇÑ ¹®Á¦Á¡À¸·ÎºÎÅÍ ¼³°è»óÀÇ ¿À·ù ¹®Á¦¸¦ Ãë±ÞÇϱâ À§ÇÑ ¹æ¹ýÀ¸·Î Çü½Ä±â¹ý(Formal Methods)ÀÇ »ç¿ëÀ» µé ¼ö ÀÖ´Ù. Çü½Ä±â¹ýÀº ÄÄÇ»ÅÍ ½Ã½ºÅÛÀÇ Çϵå¿þ¾î ¶Ç´Â ¼ÒÇÁÆ®¿þ¾î ±¸Çö¿¡ ¾Õ¼­ ¼³°èÇϰíÀÚ ÇÏ´Â ½Ã½ºÅÛ ÇàÀ§(Behavior)°¡ ¾î¶°ÇѰ¡¸¦ °è»ê ¹× ¿¹ÃøÇÏ´Â ¹æ¹ýÀ» Á¦°øÇÏ´Â ÄÄÇ»ÅͰøÇÐÀÇ ÀÀ¿ë¼öÇÐÀÌ´Ù. ƯÈ÷ ½Ã½ºÅÛÀÇ ±â´ÉÀº ¹°·ÐÀÌ°í ³ôÀº ¾ÈÀü¼º Ư¼ºÀ» ¸¸Á·ÇؾßÇÏ´Â Safety-criticalÇÑ ½Ã½ºÅÛ ¼³°è¿Í ±¸Çö°úÁ¤¿¡¼­, Çü½Ä±â¹ýÀ» ÀÌ¿ëÇÏ¿© ¼³°è¸í¼¼È­(Specification), ±¸Çö¸ðµ¨(Implementation Model) ¹× °ËÁõ(Verification) °úÁ¤ÀÇ ¼öÇàÀ» ÅëÇÏ´Â °ÍÀº ³ôÀº ¾ÈÀü¼º°ú ½Å·Ú¼ºÀ» °®´Â ½Ã½ºÅÛÀ» ¼³°è ¹× °³¹ßÇÏ´Â ¹æ¹ýÀÌ µÉ °ÍÀÌ´Ù.
 º» °í¿¡¼­´Â Safety-criticalÇÑ ½Ã½ºÅÛ ¼³°è½Ã Çü½Ä±â¹ýÀÇ Àû¿ëÀ» À§ÇÑ ±âº»Áö½ÄÀ» ¼³¸íÇϰíÀÚ ÇÑ´Ù. Áï, Çü½Ä±â¹ýÀÇ °³¿ä, Çü½Ä ¸í¼¼¼­ ¹× Çü½Ä°ËÁõ±â¹ýÀ» ¼³¸íÇϰí, »ç¿ëÀÚ ÀÔÀå¿¡¼­ÀÇ Çü½Ä±â¹ý ÅøÀÇ »ç¿ë½Ã ÁÖÀÇÁ¡, Çü½Ä±â¹ýÀ» ¿¬±¸Çϴµ¥ À־ÀÇ ¹®Á¦Á¡ µîÀ» Á¦½ÃÇϰíÀÚ ÇÑ´Ù.

2. Çü½Ä ±â¹ý(Formal Method)

2.1. Çü½Ä±â¹ýÀÇ °³¿ä

 ÀϹÝÀûÀ¸·Î °øÇко߿¡¼­´Â ¼³°è¿¡ ´ëÇÑ °ËÁõÀ» À§Çؼ­ ¼öÇÐÀûÀÎ ¸ðµ¨°ú °è»ê¿¡ ÀÇÇϰí ÀÖ´Ù. Çü½Ä±â¹ýÀº ÄÄÇ»ÅͽýºÅÛ(Çϵå¿þ¾î ¹× ¼ÒÇÁÆ®¿þ¾î) ¼³°è¿¡ ÀÀ¿ë °¡´ÉÇÑ ´Ù¾çÇÑ ¼öÇÐÀû ¸ðµ¨¸µ ±â¹ýÀ» ³ªÅ¸³½´Ù. Áï Çü½Ä±â¹ýÀº ÄÄÇ»ÅͰøÇÐÀÇ ÀÀ¿ë¼öÇÐÀ̸ç, ±×°ÍÀ» ÀûÀýÇÏ°Ô ÄÄÇ»ÅͰøÇп¡ Àû¿ëÇÒ ¶§ ÄÄÇ»Å͸¦ ±â¹ÝÀ¸·Î ÇÑ Á¦¾î½Ã½ºÅÛ ¼³°è½Ã Áß¿äÇÑ ¿ªÇÒÀ» ÇϰԵȴÙ.
 Çü½Ä±â¹ýÀº ½Ã½ºÅÛÀÇ ÇàÀ§¸¦ ¸í¼¼È­ ¹× ¸ðµ¨¸µÇϴµ¥ »ç¿ëµÇ¾îÁø´Ù. ¶ÇÇÑ ½Ã½ºÅÛÀ» ¼³°èÇÏ°í ±¸ÇöÇϴµ¥ À־ ¿ä±¸µÇ´Â ½Ã½ºÅÛ ±â´É°ú ¾ÈÀü¼º Ư¼ºÀÌ ¸¸Á·µÈ´Ù´Â °ÍÀ» ¼öÇÐÀûÀ¸·Î °ËÁõÇϱâ À§ÇØ »ç¿ëµÈ´Ù. ÀÌ·¯ÇÑ ¸í¼¼È­, ¸ðµ¨¸µ ¹× °ËÁõÇàÀ§´Â ¾ö°ÝÇÔ(Rigorousness)ÀÇ µî±ÞÀ» °®´Â ´Ù¾çÇÑ ±â¼úÀ» ÀÌ¿ëÇÏ¿© ¼öÇàÇÑ´Ù. ÀÌ·¯ÇÑ Àû¿ëÀÇ ¾öÁ¤ÇÔÀ» Rushby´Â ´ÙÀ½°ú °°ÀÌ 3°¡Áö·Î ºÐ·ùÇÏ¿´´Ù. ¶ÇÇÑ À̰ÍÀ» ¾öÁ¤ÇÔÀÇ µî±ÞÀ̶ó±â º¸´Ù´Â Çü½Ä±â¹ýÀÌ ÃëÇØ¾ßÇÏ´Â °úÁ¤À¸·Î Ç¥ÇöÇÏ´Â ¿¬±¸ÀÚµµ ÀÖÀ¸³ª, ÀÌ´Â ¸ðµç ¼¼ ´Ü°è¸¦ °ÅÃÄ ±¸ÇöµÈ ½Ã½ºÅÛÀº Á¤È®µµ°¡ ±×¸¸Å­ Çâ»óµÇ±â ¶§¹®¿¡ °á°úÀûÀ¸·Î´Â ¾öÁ¤ÇÔÀÇ µî±Þ°ú °°Àº °á°ú·Î º¼ ¼ö ÀÖ´Ù.

 ¢º Level 1 : ½Ã½ºÅÛ Àüü ¶Ç´Â ÀϺÎÀÇ Çü½Ä ¸í¼¼¼­(Formal Specification)

 ¢º Level 2 : ±¸Çö ¸ðµ¨(Implementation Model) ¹× °ËÁõ(Verification)

 ¢º Level 3 : Mechanical Theorem Prover¿¡ ÀÇÇÑ Çü½Ä Áõ¸í(Formal Proof) °Ë»ç

 Çü½Ä±â¹ýÀº ÀϹÝÀûÀ¸·Î ½Ã½ºÅÛ Àüü¿¡ Àû¿ëÇÏÁö´Â ¾Ê´Â´Ù. Áï, ½Ã½ºÅÛÀÇ °¡Àå ¹Î°¨ÇÑ ºÎºÐ¿¡ Çü½Ä±â¹ýÀ» Àû¿ëÇÏ´Â °ÍÀÌ ½ÇÁ¦ÀûÀ̰í À¯¿ëÇÑ ¹æ¹ýÀÌ´Ù. ´ë±Ô¸ðÀÇ º¹ÀâÇÑ ½Ã½ºÅÛ¿¡ ´ëÇØ¼­ ÀüüÀûÀ¸·Î Çü½Ä±â¹ýÀÇ Àû¿ëÀº ÇöÀç·Î´Â ¸Å¿ì ¾î·Æ°í ¸¹Àº ½Ã°£À» ÇÊ¿ä·Î ÇÏÁö¸¸, ½Ã½ºÅÛÀÇ Çٽɺο¡ Çü½Ä±â¹ýÀ» ÀÌ¿ëÇÔÀ¸·Î½á ½Ã½ºÅÛÀÇ ½Å·Ú¼º ¹× ¾ÈÀü¼ºÀ» Å©°Ô Çâ»ó½Ãų ¼ö ÀÖ´Ù. Çü½Ä±â¹ýÀÇ Àû¿ë°úÁ¤Àº ¸ÕÀú ¼³°è±âÁØÀ» Ç¥ÇöÇÏ´Â ¸í¼¼¼­¸¦ ÀÛ¼ºÇϰí, ±× ´ÙÀ½ ¼³°è ¹× Á¦ÀÛÀ» À§ÇÑ ±¸Çö¸ðµ¨À» ÀÛ¼ºÇÑ´Ù. ¸¶Áö¸·À¸·Î ¸ðµç °æ¿ì¿¡ ´ëÇØ¼­ ±¸Çö¸ðµ¨ÀÌ ¸í¼¼¼­¿Í ÀÏÄ¡ÇÑ´Ù´Â °ÍÀ» Çü½Ä °ËÁõÀ» ÅëÇØ ÀÔÁõÇØ¾ß ÇÑ´Ù. ÀÌ·¯ÇÑ °úÁ¤¿¡ ´ëÇÑ ¼¼ºÎÀûÀÎ ¼³¸íÀº 2-2, 2-3Àý¿¡¼­ ³íÇÑ´Ù.

2.2. Çü½Ä ¸í¼¼¼­(Formal Specification)

 ¸í¼¼¼­´Â ½Ã½ºÅÛ°ú ½Ã½ºÅÛÀÇ Á¤È®ÇÑ Æ¯¼ºÀ» ³ªÅ¸³»´Â °ÍÀÌ´Ù. Çü½Ä¸í¼¼¼­´Â ¼öÇÐÀûÀ¸·Î Á¤ÀÇµÈ ¹®¹ý°ú Àǹ̷ÐÀ» °®´Â ¾ð¾î¸¦ »ç¿ëÇÏ¿© Ç¥ÇöÇÑ´Ù. ½Ã½ºÅÛÀÇ Æ¯¼º¿¡´Â ±â´ÉÀû ÇàÀ§(Functional behavior), ŸÀÌ¹Ö µ¿ÀÛ, ¼º´ÉƯ¼º, ³»ºÎ±¸Á¶ µîÀ» Æ÷ÇÔÇÑ´Ù. Áö±Ý±îÁö ÇàÀ§Àû Ư¼º¿¡ ´ëÇØ¼­´Â ¸í¼¼¼­°¡ °¡Àå ÀûÀýÇϸç, ÇöÀçÀÇ °æÇâÀº ½Ã½ºÅÛÀÇ °¢±â ´Ù¸¥ ÇüŸ¦ Ãë±ÞÇÒ ¼ö ÀÖ´Â ¼­·Î ´Ù¸¥ ¸í¼¼¾ð¾î¸¦ ÅëÇÕÇÏ´Â °ÍÀÌ´Ù. ¸í¼¼¼­ ÀÛ¼º¿¡ À־ÀÇ ¶Ç ´Ù¸¥ °æÇâÀº ½Ã½ºÅÛÀÇ ¼º´É, ½Ç½Ã°£ Á¦¾àÁ¶°Ç, º¸¾ÈÁ¤Ã¥, ±¸Á¶Àû ¼³°è¿Í °°Àº ½Ã½ºÅÛÀÇ ºñÇàÀ§Àû Ư¼ºÀ» Ãë±ÞÇÏ´Â °ÍÀÌ´Ù. ¸í¼¼¼­ ÀÛ¼º °úÁ¤Àº ½Ã½ºÅÛÀÇ µ¿ÀÛÇàÀ§ ¹× Ư¼ºÀ» ¾ö¹ÐÇÏ°Ô ¼­¼úÇÏ´Â °úÁ¤ÀÌ´Ù. ±×·¸°Ô ÇÔÀ¸·Î½á ½Ã½ºÅÛ¿¡ ´ëÇÑ ÃæºÐÇÑ ÀÌÇØ¸¦ ÇÏ°Ô µÇ°í, À̷μ­ °³¹ßÀÚ°¡ ¹ß°ßÇÒ ¼ö ¾ø´Â ¼³°è»óÀÇ ¾àÁ¡, ¸ðÈ£¼º, ºÒ¿ÏÀü¼ºÀ» ÆÄ¾ÇÇÒ ¼ö ÀÖ°Ô µÈ´Ù. ¸í¼¼¼­´Â ½Ã½ºÅÛÀÇ ÃÖÁ¾ »ç¿ëÀÚ¿Í ¼³°èÀÚ, ¼³°èÀÚ¿Í ±¸ÇöÀÚ, ±¸ÇöÀÚ¿Í Æò°¡ÀÚ »çÀÌÀÇ À¯¿ëÇÑ Àü´Þ ¼ö´ÜÀÌ µÈ´Ù. Çü½Ä¸í¼¼¼­´Â Çü½Ä³í¸®·ÎºÎÅÍ À¯·¡ÇÑ ±âÈ£¸¦ »ç¿ëÇÏ¿© ´ÙÀ½ »çÇ×À» Ç¥ÇöÇÑ´Ù.

 ¢º½Ã½ºÅÛÀÌ ¿î¿ëµÉ ȯ°æ¿¡ ´ëÇÑ °¡Á¤

 ¢º ½Ã½ºÅÛÀÌ ´Þ¼ºÇØ¾ß ÇÒ ¿ä±¸»çÇ×

 ¢º ¿ä±¸»çÇ׿¡ ºÎÇÕÇϱâ À§ÇÑ ¼³°è

¿¹ 1 : Çü½Ä¸í¼¼¼­

 ¢º ¸í¼¼¼­ : ±æÀÌ NÀÇ ¹è¿­ A´Â 1....NÀ¸·Î »öÀεǾú´Ù.  X°ªÀ» ¹è¿­¿¡¼­ ã´Â °úÁ¤ÀÌ´Ù. ¸¸¾à ¿ø¼Ò¸¦ ãÀ¸¸é Y´Â X¿Í µî°¡ÀÎ ¹è¿­ ¿ø¼ÒÀÇ »öÀΰú °°Àº °ªÀÌ´Ù. X¿Í µî°¡ÀÎ ¹è¿­ ¿ä¼Ò°¡ ¾ø´Ù¸é Y´Â 0ÀÌ µÈ´Ù.
 
 ¢º Çü½Ä ¸í¼¼¼­ :
   pre_condition : N>0
   post_condition : {(X=A[Y])\land(1\leq Y\leq N)}\lor{(Y=0)\land(\forall k\(1\leq k\leq N)\aupset A[k]\leq X)}  

 ¢º ±¸¹®·ÐÀû ÇüÅÂÀÇ Çü½Ä ¸í¼¼¼­ :
  .pre_condition   N>0
  .post_condition IF(\forall k\(1\leq k\leq N)\supset A[k]\neq X)THEN(Y=0)ELSE X=A[Y]AND(1\leq Y\leq N)}

2.3. Çü½Ä°ËÁõ(Formal Verification)

 Çü½Ä°ËÁõ¿¡ ´ëÇÑ È®¸³µÈ ¹æ¹ýÀ¸·Î´Â ¸ðµ¨ °Ë»ç(Model Checking)¿Í Á¤¸® Áõ¸í(Theorem Proving)ÀÌ ÀÖ´Ù. Çü½Ä°ËÁõÀº ¸í¼¼¼­ ÀÛ¼º ´ÙÀ½ ´Ü°è·Î¼­, ÀÌ·¯ÇÑ Çü½Ä ±â¹ýÀº ½Ã½ºÅÛÀÇ ¹Ù¶÷Á÷ÇÑ Æ¯¼ºÀ» ºÐ¼®Çϴµ¥ ÀÌ¿ëÇÑ´Ù.

2.3.1. ¸ðµ¨°Ë»ç(Model Checking)

 ¸ðµ¨ °Ë»ç´Â ½Ã½ºÅÛÀÇ À¯ÇѸðµ¨À» ±¸ÃàÇϰí, ±× ¸ðµ¨ÀÌ ¹Ù¶÷Á÷ÇÑ ½Ã½ºÅÛ Æ¯¼ºÀ» À¯ÁöÇÏ´ÂÁö¸¦ °Ë»çÇÏ´Â ±â¼úÀÌ´Ù. ¸ðµ¨°Ë»ç¿¡¼­ÀÇ ±â¼úÀûÀÎ ¾î·Á¿òÀº ´ë±Ô¸ð °Ë»ö°ø°£ÀÌ °¡´ÉÇÑ µ¥ÀÌÅͱ¸Á¶¿Í ¾Ë°í¸®Áò¿¡ ÀÖ´Ù. ÀÌ·¯ÇÑ ¸ðµ¨°Ë»ç´Â ±âº»ÀûÀ¸·Î Çϵå¿þ¾î¿Í ÇÁ·ÎÅäÄÝ °ËÁõ¿¡ À¯¿ëÇÏÁö¸¸, ÇöÀç´Â ¼ÒÇÁÆ®¿þ¾îÀÇ ¸í¼¼¼­ ºÐ¼® ¹× °ËÁõ¿¡µµ ¹æ¹ýÀ» Àû¿ëÇϰí ÀÖ´Ù. ÇöÀç ½ÇÁúÀûÀ¸·Î »ç¿ëµÇ°í ÀÖ´Â ¸ðµ¨°Ë»ç¿¡ ´ëÇÑ ÀϹÝÀûÀÎ ¹æ¹ýÀ¸·Î´Â ¸í¼¼¼­¸¦ ½Ã°£³í¸®(Temporal Logic)·Î Ç¥ÇöÇÏ°í ½Ã½ºÅÛÀ» À¯ÇÑ»óÅÂõÀÌ(Finite State Transition) ½Ã½ºÅÛÀ¸·Î ¸ðµ¨¸µÇÏ´Â ½Ã°£¸ðµ¨ °Ë»ç(Temporal Model Checking)¿Í ¸í¼¼¼­¿Í ½Ã½ºÅÛ ¸ðµ¨ÀÌ ÀÚµ¿À¸·Î  ¸¸µé¾îÁö°í ¸ðµ¨µÈ ½Ã½ºÅÛÀÇ ÇàÀ§°¡ ¸í¼¼¼­ÀÇ ÇàÀ§¿Í ÀÏÄ¡ÇÏ´ÂÁö °áÁ¤Çϱâ À§Çؼ­ ¼­·Î ºñ±³ÇÏ´Â ¹æ¹ýÀÌ ÀÖ´Ù. ¸ðµ¨°Ë»ç´Â ºÎºÐÀûÀÎ ¸í¼¼¼­¸¦ °Ë»çÇϴµ¥ ÀÌ¿ëµÉ ¼ö Àֱ⠶§¹®¿¡, ½Ã½ºÅÛÀÌ ¿ÏÀüÇÏ°Ô ¸í¼¼È­µÇÁö ¾ÊÀº °æ¿ì¿¡µµ ÀϺκп¡ ´ëÇÑ ¸ðµ¨°Ë»ç¸¦ ÅëÇØ ½Ã½ºÅÛÀÇ Á¤È®µµ¿¡ °üÇÑ À¯¿ëÇÑ Á¤º¸¸¦ ¾òÀ» ¼ö ÀÖ´Ù. ƯÈ÷ ¸ðµ¨°Ë»ç ±â¼úÀº ¼³°è½Ã ¹Ì¹¦ÇÑ ¿À·ù¸¦ ³ªÅ¸³»´Â ³í¸®³ª ±ÔÄ¢¿¡ ´ëÇÑ °Ë»ç°¡ °¡´ÉÇϹǷΠ¸í¼¼¼­ÀÇ ¿À·ù¸¦ ¼öÁ¤Çϴµ¥ À¯¿ëÇÏ°Ô ÀÌ¿ëµÇ¾îÁú ¼ö ÀÖ´Ù.

2.3.2. Á¤¸®Áõ¸í(Theorem Proving)

 Á¤¸®Áõ¸íÀº ½Ã½ºÅÛ°ú ½Ã½ºÅÛÀÇ Á¤È®ÇÑ Æ¯¼ºÀ» ¼öÇÐÀû ³í¸®(Mathematical Logic) ³»¿¡¼­ °ø½ÄÀ¸·Î Ç¥ÇöÇϰí Áõ¸íÇÏ´Â °ÍÀÌ´Ù. ¼öÇÐÀû ³í¸®´Â °ø¸®(Axiom)¿Í Ã߷бÔÄ¢(Inference Rule)ÀÇ ÁýÇÕÀ» Á¤ÀÇÇÏ´Â Çü½Ä½Ã½ºÅÛ(Formal System)¿¡ ÀÇÇØ¼­ ÁÖ¾îÁø´Ù. Á¤¸®Áõ¸íÀº ½Ã½ºÅÛÀÇ Æ¯¼ºÀ» °ø¸®¿Í ±ÔÄ¢, À¯µµµÈ Á¤ÀÇ, Áß°£ ÀÌ·Ð µîÀ» ÀÌ¿ëÇÏ¿© Áõ¸íÇÑ´Ù. Áõ¸íÀº ¼öÀÛ¾÷¿¡ ÀÇÇØ¼­µµ ¼öÇàÇÒ ¼ö ÀÖÁö¸¸, ÇöÀç ±â°èÀÇ µµ¿ò¿¡ ÀÇÇÑ Á¤¸®Áõ¸í¿¡ ¿¬±¸ÀÇ ÃÊÁ¡ÀÌ ¸ÂÃß¾î Áö°í ÀÖ´Ù. ¿À´Ã³¯ Á¤¸®Áõ¸í±â(Theorem Prover)´Â Çϵå¿þ¾î¿Í ¼ÒÇÁÆ®¿þ¾î ¼³°è¿¡ À־ÀÇ  Safety-CriticalÇÑ Æ¯¼ºÀÇ °ËÁõ¿¡ Á¡Â÷ÀûÀ¸·Î ÀÌ¿ëµÇ°í ÀÖ´Ù. Á¤¸®Áõ¸í±â´Â ÀÚµ¿È­ÇÑ ¹ü¿ë ÇÁ·Î±×·¥À¸·ÎºÎÅÍ Æ¯º°ÇÑ ¸ñÀûÀ» °®´Â ´ëÈ­Çü ½Ã½ºÅÛ±îÁö ±¤¹üÀ§ÇÏ°Ô ºÐ·ùµÉ ¼ö ÀÖ´Ù. ÀÚµ¿È­ÇÑ ½Ã½ºÅÛÀº ÀϹÝÀûÀÎ °Ë»öÀýÂ÷·Î¼­ À̿밡´ÉÇÏ°í ¿©·¯ °¡Áö Á¶ÇÕÀûÀÎ ¹®Á¦¸¦ ÇØ°áÇϴµ¥ ÀÖ¾î ÁÖ¸ñÇÒ¸¸ÇÑ ¼º°ú¸¦ ÀÌ·ç°í ÀÖ´Ù. ´ëÈ­Çü ½Ã½ºÅÛÀº ü°èÀûÀÎ ¼öÇÐÀû Çü½Ä°³¹ß°ú ±â°èÀû Çü½Ä±â¹ý¿¡ º¸´Ù ¾Ë¸ÂÀº ½Ã½ºÅÛÀÌ´Ù.
 ¸ðµ¨ °Ë»ç¿Í ´ëÁ¶ÀûÀ¸·Î Á¤¸® Áõ¸íÀº À¯ÇÑ»óŰø°£À» Á÷Á¢ÀûÀ¸·Î Ãë±ÞÇÒ ¼ö ÀÖÀ¸¸ç, À̸¦ À§ÇØ À¯ÇÑ ¿µ¿ª »ó¿¡¼­ Áõ¸íÇϱâ À§ÇØ ±¸Á¶Àû ±Í³³¹ý(Structural Induction)À» »ç¿ëÇÑ´Ù. ´ëÈ­Çü Á¤¸® Áõ¸í±â¶ó´Â Á¤ÀÇ¿¡¼­ ¾Ë ¼ö ÀÖµíÀÌ ÀÌ ½Ã½ºÅÛÀº Àΰ£°úÀÇ ´ëÈ­¸¦ ¿ä±¸Çϸç, Á¤¸® Áõ¸í °úÁ¤ÀÌ ´Ê°í, ¿À·ù¸¦ ¹üÇϱ⠽±´Ù. ´ë½Å Áõ¸í°úÁ¤¿¡¼­ »ç¿ëÀÚ´Â ½Ã½ºÅÛ  ¶Ç´Â Áõ¸íµÈ Ư¼ºÀ» °£ÆÄÇÒ ¼ö ÀÖ´Â ÀåÁ¡ÀÌ ÀÖ´Ù.

2.3.3  µî°¡¼º °Ë»ç(Equivalence Checking)

 µî°¡¼º °Ë»çÀÇ ¸ñÀûÀº Çϵå¿þ¾î ƯÈ÷, ¹ÝµµÃ¼ ¼³°èºÐ¾ß¿¡¼­ °ÔÀÌÆ®³ª ½ºÀ§Ä¡ ·¹º§ ½Ã¹Ä·¹À̼ÇÀ» ÁÙÀ̰ųª Á¦°ÅÇϴµ¥ ÀÖ´Ù. µû¶ó¼­ °ÔÀÌÆ®³ª ½ºÀ§Ä¡ ±â´É °Ë»ç°¡ ÇÊ¿ä·Î ÇÏ´Â ¾îµð¿¡¼­³ª Àû¿ëµÇ¾îÁú ¼ö ÀÖ´Ù. µî°¡¼º °Ë»ç¿¡´Â Á¶ÇÕ µî°¡¼º °Ë»ç, ¼ø¼­ µî°¡¼º °Ë»ç, »óÅ µî°¡¼º °Ë»ç¿Í °°Àº 3°¡ÁöÀÇ ¼­·Î ´Ù¸¥ ·¹º§ÀÇ ±â¼úÀÌ ÀÖ´Ù.

3. Çü½Ä±â¹ýÀÇ ¿¬±¸ ¹× »ç¿ë

 Çü½Ä±â¹ýÀÇ »ç¿ë ¸ñÀûÀº ³ôÀº ¾ÈÀü¼º°ú ½Å·Ú¼ºÀÌ È®º¸µÇ´Â ½Ã½ºÅÛÀ» ¼³°èÇÏÀÚ´Â µ¥ ÀÖ´Ù.  Çü½Ä±â¹ýÀÇ ±âÃÊ´Â ¼öÇÐÀ» ±Ù°Å·Î Çϸç, ½Ã½ºÅÛÀÇ Çϵå¿þ¾î ¹× ¼ÒÇÁÆ®¿þ¾î ¼³°è½Ã Àû¿ëµÇ¾îÁú ¼ö ÀÖ´Ù. ¶ÇÇÑ Çü½Ä±â¹ýÀÇ ÀáÀçÀû »ç¿ëÀÚ´Â ½Ã½ºÅÛ°øÇÐ °úÁ¤¿¡ Æ÷ÇÔµÈ ¸ðµç °³¹ßÀÚ°¡ µÉ °ÍÀÌ´Ù. °ú°Å 10¿©³â µ¿¾È¿¡ Çü½Ä±â¹ý ºÐ¾ß¿¡ ´ëÇÑ ¸¹Àº ¿¬±¸°¡ ÀÖ¾î¿Ô´Ù. ±× °á°ú º¸´Ù ´Ù·ç±â ¾î·Æ°í ±Ô¸ð°¡ Å« ¹®Á¦Á¡µé¿¡ ´ëÇØ¼­µµ Çü½Ä±â¹ýÀ» Àû¿ëÇÒ ¼ö ÀÖ°Ô µÇ¾ú´Ù. Çü½Ä±â¹ý¿¡¼­ÀÇ ´õ ¸¹Àº ÁøÀüÀÌ ÀÖ±â À§Çؼ­´Â ±âÃÊ¿¬±¸, »õ·Î¿î ±â¹ýÀÇ °í¾È, »õ·Î¿î ÅøÀÇ ±¸Ãà, ¼­·Î ´Ù¸¥ ±â¹ýÀÇ ÅëÇÕ, ½ÇÁ¦ »ç¿ëÀÚ¸¦ À§ÇÑ È¿°úÀûÀÎ ±â¼úÀÌÀü¿¡ ´ëÇÑ ¿¬±¸ÀÚÀÇ ³ë·Â µîÀÌ ¿ä±¸µÈ´Ù. ÀÌ·¯ÇÑ ³ë·ÂµéÀ» ¹ÙÅÁÀ¸·Î Çü½Ä±â¹ýÀÇ Àû¿ë¿¡ ´ëÇÑ ¿¬±¸ÀÚ¿Í »ê¾÷°è »çÀÌÀÇ ÀνÄÂ÷ÀÌ µîÀÌ ÁÙ¿©Áú ¶§ ±×¸®°í »ê¾÷°è¿¡¼­ Çü½Ä±â¹ýÀÇ Çʿ伺À» ´À³¥ ¶§ ÀÌ ¹æ¹ýÀÌ Safety-criticalÇÑ ½Ã½ºÅÛÀÇ ¼³°è ¹× °³¹ß¿¡ À־ÀÇ ´ë¾ÈÀÌ µÉ °ÍÀÌ´Ù. º» Àå¿¡¼­´Â Çü½Ä ±â¹ýÀ» ¿¬±¸Çϴµ¥ ÇÊ¿äÇÑ ¾ð±ÞµÈ »çÇ׿¡ ´ëÇØ¼­ ³íÇÑ´Ù.

3.1 ±âº» °³³ä

 Çü½Ä ±â¹ýÀÇ ¿¬±¸´Â ÀϹÝÀûÀÎ ÄÄÇ»ÅÍ ºÐ¾ßÀÇ ±âº»ÀûÀÎ °³³äÀ» ±Ù°Å·Î ÇÑ´Ù. ±â¹ý, ¸í¼¼¼­, ¸ðµ¨, Á¤¸®Áõ¸í µîÀ» ¾î¶»°Ô ±¸¼ºÇÒ °ÍÀΰ¡·Î ºÎÅÍ °è»êÀûÀ¸·Î ¿ä±¸ÇÏ´Â Æ÷°ýÀû Ư¼ºÀ» °ËÁõÀÌ °£´ÜÇÑ ÇÑÁ¤µÈ Ư¼ºÀ¸·Î ºÐÇÒÇϱâ À§ÇÑ È¿°úÀûÀÎ ¹æ¹ýÀ» °³¹ßÇÒ Çʿ䰡 ÀÖ´Ù. ¶ÇÇÑ Ãß»óÈ­ ¾øÀÌ ½ÇÁ¦ ½Ã½ºÅÛÀ» ¸í¼¼È­ÇÏ°í °ËÁõÇÏ´Â °ÍÀº ¾î·Æ±â ¶§¹®¿¡ ÀÏÁ¤ÇÑ ½Ã½ºÅÛÀ̳ª ¹®Á¦¿¡ ¸ÂÃá ¸ðµ¨¸µÀÌ ÇÊ¿äÇϰí, Çü½ÄÀûÀ¸·Î(Formal) ±×µéÀ» Á¤´çÈ­ÇÏ°í °ËÁõÇϱâ À§ÇÑ ¹æ¹ýÀÇ  °³¹ßÀÌ ÇÊ¿äÇÏ´Ù.
 ½Ã½ºÅÛÀÇ ¼³°è ¹× °³¹ß¿¡ À־´Â ÀϽÃÀûÀ¸·Î »ç¿ëµÇ´Â ¸ðµ¨¸µÀ̳ª ±ÔÄ¢º¸´Ù´Â Àç»ç¿ë°¡´ÉÇÏ°í ¸Å°³º¯¼öÈ­ÇÏ´Â ¸ðµ¨°ú ±ÔÄ¢À» È®º¸ÇÏ´Â °ÍÀÌ ¹Ù¶÷Á÷ÇÏ´Ù. ´ëºÎºÐÀÇ Safety-criticalÇÑ ½Ã½ºÅÛÀº µðÁöÅаú ¾Æ³¯·Î±× ºÎǰÀ¸·Î ±¸¼º µÇ¾îÀÖ´Ù. ÀÌ·¯ÇÑ ÇÏÀ̺긮µå ½Ã½ºÅÛÀº ÀÌ»ê¼öÇаú ¿¬¼Ó¼öÇÐ ¾çÂÊÀÇ Ãß·ÐÀ» ¿ä±¸ÇÑ´Ù. ½Ã½ºÅÛ °³¹ßÀÚ´Â ¼³°èÇÑ ½Ã½ºÅÛÀÌ ÇöÀå¿¡¼­ ¾î¶»°Ô µ¿ÀÛÇÒ °ÍÀΰ¡¸¦ ¿¹ÃøÇÏ¿©¾ß Çϸç, ±×¶§ Á¤È®¼ºº¸´Ù´Â ¼º´É¿¡ ´õ °ü½ÉÀ» °®´Â´Ù. À̶§ ¼º´É ¸ðµ¨¸µÀº È®·ü°ú Åë°è, ´ë±âÇà·Ä ÀÌ·Ð(Queueing theory)À» ÀÌ¿ëÇÏ¿© ¼öÇàÇÑ´Ù. ¸¶Áö¸·À¸·Î ´ë±Ô¸ð °Ë»ö °ø°£°ú ½Ã½ºÅÛÀ» Ãë±ÞÇϱâ À§Çؼ­ ºÎ¿ïÇÔ¼ö¸¦ Ç¥ÇöÇϱâ À§ÇÑ °£°áÇÑ µ¥ÀÌÅÍ ±¸Á¶¿Í ¾Ë°í¸®ÁòÀÌ ÇÊ¿äÇÏ´Ù.

3.2 ±â¹ý°ú Åø

 ¸ðµç ¸ñÀû¿¡ »ç¿ëÇÒ ¼ö ÀÖ´Â ±â¹ýÀ̳ª ÅøÀº Á¸ÀçÇÏÁö ¾ÊÁö¸¸ Áö±Ý±îÁöÀÇ °æÇèÀ¸·ÎºÎÅÍ ½ÇÁ¦ »ç¿ëÀÚ¿¡°Ô ¾î¶² ºÎ·ùÀÇ Çü½Ä±â¹ýÀÌ ¿µÇâ·ÂÀ» ¹ÌÄ¡´Â°¡¸¦ ¾Ë°í ÀÖ´Ù. µû¶ó¼­ °³¹ßÇÏ´Â ±â¹ý°ú ÅøÀÌ »ç¿ëÀÚ¿¡°Ô ´õ¿í °ü½ÉÀ» ²ø±â À§ÇØ ±×°ÍµéÀÌ ¸¸Á·ÇؾßÇÏ´Â ±âÁØÀÌ ÀÖÁö¸¸ º» ³í¹®¿¡¼­´Â »ý·«Çϱâ·Î ÇÑ´Ù. ´Ù¸¸ ´ÜÀÏ ÅøÀ» ±¸ÃàÇÏ´Â °Íº¸´Ù´Â Steffen, Cleaveland Gordon°ú Kindred ÀÌ Á¦¾ÈÇÑ Æ¯º°ÇÑ ¹®Á¦¿¡ ¸ÂÃá ÅøÀ» ½º½º·Î »ý¼ºÇϰųª  Çü½Ä±âÈ£ ¶Ç´Â ³í¸®¸¦ »ý¼ºÇÏ´Â ¸ÞŏŸ(Meta-Tool)À» ±¸ÃàÇÏ´Â °ÍÀÌ ´õ ¹Ù¶÷Á÷ÇÏ´Ù. ÄÄÆÄÀÏ·¯ »ý¼º±â¿Í °°Àº ÀÌ·¯ÇÑ ¸ÞŏŸÀº Ư¼öÇÑ ¸ðµ¨°Ë»ç±â ¶Ç´Â Áõ¸í°Ë»ç±â¸¦ ÀÚµ¿À¸·Î ±¸ÃàÇÑ´Ù. ¸¶Áö¸·À¸·Î »õ·Î¿î ±â¹ý°ú Åø¿¡ ´ëÇØ¼­ °³¹ßÀÚ´Â ±×°ÍÀÇ ÀåÁ¡, Á¦ÇÑ ¿ä¼Ò, ¸ðµ¨¸µ °¡Á¤, ´Ù¸¥ ±â¹ý°ú Åø »çÀÌÀÇ ÅëÇÕÀÇ ¿ëÀÌÇÔ, ºñ¿ë µî¿¡ ´ëÇÑ ºÐ¸íÇÑ ¾ð±ÞÀÌ ÀÖ¾î¾ßÇÑ´Ù. ÀÌ·¯ÇÑ ºÐ¸íÇÑ ±âÁصéÀº »ç¿ëÀÚ°¡ ¹®Á¦ ÇØ°áÀ» À§Çؼ­ °¡Àå ¾Ë¸ÂÀº ±â¹ý°ú ÅøÀ» °áÁ¤Çϴµ¥ µµ¿òÀÌ µÈ´Ù.

3.3 ±â¹ýÀÇ ÅëÇÕ

 º¹ÀâÇÑ ½Ã½ºÅÛÀÇ ¸ðµç Ư¼ºÀ» Ç¥ÇöÇÏ°í ºÐ¼®ÇÒ ¼ö ÀÖ´Â ÇϳªÀÇ Çü½Ä±â¹ýÀº Á¸ÀçÇÏÁö ¾Ê±â ¶§¹®¿¡ ¼­·Î ´Ù¸¥ ±â¹ýÀ» Á¶ÇÕÇÏ¿© »ç¿ëÇÏ´Â °ÍÀÌ ½ÇÁúÀûÀÎ ¹æ¹ýÀÌ´Ù. ¼­·Î ´Ù¸¥ ±â¹ýµéÀ» Á¶ÇÕÇÒ ¶§ ÇÔ²² ÅëÇÕÇÏ´Â ¼­·Î ´Ù¸¥ ±â¹ýÀÇ ¾Ë¸ÂÀº Ç¥Çö¹ý°ú Àǹ̸¦ ã´Â °ÍÀº Áß¿äÇÏ´Ù. ¾Ë¸ÂÀº Ç¥Çö¹ýÀ» ã´Âµ¥ ½ÇÆÐÇÏ´Â °ÍÀº Á¶ÇÕÇÏ´Â ¹æ¹ýµéÀÇ ÁøÁ¤ÇÑ ÀåÁ¡À» ³õÄ¡´Â °ÍÀÌ´Ù. ¿¹¸¦ µé¸é 'Z ¾ð¾î'´Â ÃæºÐÇÑ ÀÚ¿¬¾î·Î Á¢±Ù °¡´ÉÇÑ ÇüÅ¿¡¼­ ¸í¼¼¼­ÀÇ Ç¥ÇöÀÇ Á߿伺À» °­Á¶ÇÑ´Ù. ÀÌ·¯ÇÑ ÀÌÀ¯·Î Z ¾ð¾îÀÇ »ç¿ëÀÌ È®´ëµÇ¾î°¡°í ÀÖÀ¸¸ç, ÀÓÀÇÀÇ Á¶ÇÕ¿¡¼­ ÀÌ·¯ÇÑ Ç¥Çö¹ýÀº À¯ÁöµÇ¾î¾ß ÇÑ´Ù.
 ¶ÇÇÑ Á¶ÇÕÀÇ ÀÌ·ÐÀû ±âÃÊ¿¡ ÁÖÀÇÇÏ´Â °ÍÀ» ½ÇÆÐÇϸé Çü½ÄÈ­(Formality)ÀÇ ÁøÁ¤ÇÑ  ÀåÁ¡À» ³õÄ¡°Ô µÈ´Ù. ±×°ÍÀÌ ÀǹÌÇÏ´Â °ÍÀº È­Çп¡¼­ È¥ÇÕ(´ÜÁö Àç·á¸¦ ¼¯´Â ÀǹÌ)°ú  ÇÕ¼º(Àç·á¸¦ ¼¯¾î È­ÇÐÀûÀ¸·Î Çϳª°¡ µÊ)À̶ó´Â ¿ë¾îÀÇ ±¸º°°ú °°Àº °á°ú¸¦ ³º°ÔµÈ´Ù. ¸¸¾à Á¶ÇÕÀÇ Àǹ̰¡ ÀûÀýÇÏ°Ô ¼³¸íµÇÁö ¸øÇÏ¸é °á°ú´Â ºÐ¸®µÈ ÇϳªÀÇ Åø º¸´Ù °áÇÕ±â¼ú·ÎºÎÅÍ Ãß·ÐÇÒ ¼ö ÀÖ´Â °ÍÀº ¾Æ¹« °Íµµ ¾ø´Â ´ÜÁö È¥ÇÕÀÇ ÀǹÌÀÏ »ÓÀÌ´Ù. ¼­·Î ´Ù¸¥ µÎ °¡Áö °ßÇØ¿¡¼­ ½Ã½ºÅÛ ¸í¼¼¼­¿Í, Ãß·Ð, ¼­·ÎÀÇ °ßÇØ¿¡¼­ÀÇ °á°ú¸¦ ÀÌÇØÇÏ´Â °ÍÀÌ °¡´ÉÇÏ´Ù¸é ÈξÀ °­·ÂÇÑ ±â¹ýÀ̳ª ÅøÀÌ µÉ °ÍÀÌ´Ù. Çü½Ä ±â¹ýÀÇ ÅëÇÕ ¿¬±¸´Â Kurshan°ú Lamport, RajanµîÀÌ ¸ðµ¨ °Ë»ç¿Í Á¤¸® Áõ¸íÀ» ÀÌ¿ëÇÏ¿©  ¾çÂÊ ±â¹ýÀÇ ÀåÁ¡¸¸À» ÃëÇÑ »ç·Ê°¡ ÀÖ´Ù.  

4. öµµ¿¡¼­ÀÇ Çü½Ä±â¹ý Àû¿ë

 ±¹Á¦±Ô°ÝÀ̳ª öµµ½ÅÈ£¾÷ü ÀÚü ±Ô°Ý µî¿¡¼­ öµµ½ÅÈ£Á¦¾î½Ã½ºÅÛ ´ëºÎºÐÀ» ¾ÈÀüµµ µî±Þ(SIL : Safety Integrity Level) '·¹º§ 3' ¶Ç´Â '·¹º§ 4'¸¦ ¿ä±¸Çϰí ÀÖ´Ù. ÀÌó·³ öµµ½ÅÈ£Á¦¾î½Ã½ºÅÛ ´ëºÎºÐÀ» Safety-criticalÇÑ ½Ã½ºÅÛÀ¸·Î ºÐ·ùÇϰí ÀÖ´Ù. ÀÌ¿¡ µû¶ó ÀÌ¿¡ ¿ä±¸µÇ´Â ³ôÀº ¾ÈÀü¼º°ú ½Å·Ú¼ºÀÇ È®º¸¸¦ À§ÇØ Çü½Ä±â¹ýÀÇ Àû¿ëÀÌ Àû±Ø °ËÅäµÇ¾îÁö°í ÀÖ´Ù. ƯÈ÷ À¯·´ öµµ½ÅÈ£±Ô°Ý Áß EN50128(Railway Applications : Software for Railway Control and Protection Systems)¿¡¼­´Â ÀÌ ¿ä±¸µÇ´Â SILµî±ÞÀÇ ¸¸Á·À» À§ÇØ Á¤±Ô±â¹ýÀÇ Àû¿ëÀ» 'Highly Recommended'Çϰí ÀÖ´Ù. ÇÏÁö¸¸ ¾ÆÁ÷Àº ±Ç°í»ç¾ç¿¡ ¸Ó¹«¸£°í ÀÖ´Ù. öµµ½ÅÈ£ºÐ¾ß´Â ¾Æ´ÏÁö¸¸ ¿µ±¹ÀÇ ±¹¹æ¼º(U. K. Ministry of Defence)¿¡¼­´Â Á¤±Ô±â¹ýÀÇ Àû¿ëÀ» °­Á¦±Ô°ÝÀ¸·Î äÅÃÇϵµ·Ï Çϰí ÀÖ´Ù.
 ÇöÀç öµµ ½Ã½ºÅÛ¿¡ Çü½Ä±â¹ýÀ» Àû¿ëÇÏ´Â ¿¬±¸´Â NASA Langley FM ¿¬±¸ÆÀ°ú Union Switch Signal ±â¼úÀÚµéÀÌ 1993³â¿¡ ¿¬±¸¸¦ ½ÃÀÛÇÏ¿© ù ¹øÂ° ¿¬±¸ °á°ú·Î 2 ·¹º§·Î Á¤ÀÇÇÑ Ã¶µµ ºÐ±â±â ¸ðµ¨(Railway Switching Model)ÀÇ ¼öÇÐÀû Çü½Ä ¸ðµ¨À» ¹ßÇ¥ÇÏ¿´´Ù. ÀÌ ¿¬±¸ÆÀÀÇ ¸ñÇ¥´Â ±âº»ÀûÀÎ °³³ä Áï, ±ËµµÈ¸·Î(Track Circuit), ¼±·ÎÀüȯ±â(Point), ¿­Â÷(Train)¿Í ¿­Â÷ À§Ä¡, ¿­Â÷ Á¦¾î µî¿¡ ´ëÇÑ ¸ÅÄ¿´ÏÁòÀ» Á¦°øÇÏ´Â »óÀ§ ¸ðµ¨À» °³¹ßÇÏ´Â °ÍÀÌ´Ù. À¯·´ÀÇ Çü½Ä±â¹ý ´Üü´Â öµµÁ¦¾î½Ã½ºÅÛÀÇ ºÎǰµéÀÇ ¾ÈÀüµµ Ư¼ºÀ» ¼³¸íÇϰí ÀÖ°í, ÀϺ»ÀÇ RTRI¿Í ¿µ±¹ÀÇ AEA TechnologyÀÇ °æ¿ì ÀüÀÚ¿¬µ¿ÀåÄ¡ÀÇ ¿¬µ¿·ÎÁ÷ Áß ÀϺκÐÀÇ µ¿ÀÛ»ç¾çÀ» Z ¾ð¾î·Î °³¹ßÇÏ·ÁÇϰí ÀÖÁö¸¸ ¾ÆÁ÷Àº ¿¬±¸Â÷¿ø¿¡ ¸Ó¹«¸£°í ÀÖ´Ù. ƯÈ÷ ÇÁ¶û½º ÆÄ¸®ÁöÇÏö 14È£¼±ÀÇ ¿­Â÷Á¦¾îÀåÄ¡ÀÇ °æ¿ì  Çü½Ä±â¹ýÀÇ ÀÇÇØ ¿ä±¸»çÇ× ºÐ¼®´Ü°è¿¡¼­ºÎÅÍ ¼³°è ¹× °ËÁõ±îÁö Çü½Ä±â¹ýÀÌ Àû¿ëµÇ¾î 1999³âºÎÅÍ ¹«ÀοîÀüÀÌ °¡´ÉÇÒ Á¤µµÀÇ ³ôÀº ¾ÈÀü¼º°ú ½Å·Ú¼ºÀ» È®º¸ÇÑ °ÍÀ¸·Î ÆÄ¾ÇµÇ°í ÀÖ´Ù.
 ±¹³» ÇöȲÀ¸·Î´Â Çѱ¹Ã¶µµ±â¼ú¿¬±¸¿ø¿¡¼­ IEC¿¡¼­ Ç¥Áؾð¾î·Î äÅÃµÈ Grafcet(GRAphe Fonctionnel de Commande Etape/Transition)À» ÀÌ¿ëÇÑ ¿¬µ¿·ÎÁ÷À» Ç¥ÇöÇÏ°í ºÐ¼®ÇÏ·Á°í ½ÃµµÇϰí ÀÖ°í, ÀϺΠ´ëÇп¡¼­ öµµ½ÅÈ£½Ã½ºÅÛ ºÐ¾ß¿¡ Àû¿ëÀ» À§ÇÑ ±âÃÊ¿¬±¸¸¦ ¼öÇàÇϰí ÀÖ´Ù. öµµ ÀÌ¿ÜÀÇ ºÐ¾ß¿¡¼­´Â 1998³â 12¿ùºÎÅÍ Chrysalis Symbolic Design »çÀÇ °ËÁõ ÅøÀ» ´ë¿ìÀüÀÚ¿¡¼­ Á¦Ç°°³¹ß¿¡ »ç¿ëÇÏ´Â °ÍÀ¸·Î ¹ßÇ¥µÇ°í ÀÖ´Ù.

5. °á ·Ð

 Àü±âÀüÀÚ ±â¼úÀÇ ¹ß´Þ¿¡ ÈûÀÔ¾î ¸¹Àº ºÐ¾ß¿¡¼­ ÄÄÇ»Å͸¦ ÀÌ¿ëÇÑ Á¦¾î½Ã½ºÅÛÀÌ º¸ÆíÈ­µÇ¾î°¡°í ÀÖ´Ù. ÇÏÁö¸¸ ÀÌ·¯ÇÑ ÄÄÇ»Å͸¦ ±â¹ÝÀ¸·Î ÇÑ Á¦¾î½Ã½ºÅÛÀº º»ÁúÀûÀΠƯ¼ºÀ¸·Î ÀÎÇØ À§Çèµµ ºÐ¼® ¹× ¿¹ÃøÀÌ °ÅÀÇ ºÒ°¡´ÉÇÏ¿© ½Ã½ºÅÛ¿¡¼­ ¿ä±¸ÇÏ´Â ¾ÈÀü¼º ¹× ½Å·Ú¼ºÀ» È®º¸ÇÏ±â ¾î·Æ´Ù. ƯÈ÷, öµµ½ÅÈ£Á¦¾î½Ã½ºÅÛÀº ³ôÀº ¾ÈÀü¼º ¹× ½Å·Ú¼ºÀÌ ¿ä±¸µÇ¾îÁø´Ù. ÀÌ·¯ÇÑ ¹®Á¦Á¡µéÀÇ ÇØ°áÀ» À§ÇÑ ¹æ¾ÈÀ¸·Î öµµ¼±Áø±¹, ƯÈ÷ À¯·´À» Áß½ÉÀ¸·Î Çü½Ä±â¹ý¿¡ ´ëÇÑ ¿¬±¸°¡ ÁøÇà Áß¿¡ ÀÖ´Ù.
 ¸¹Àº ¿¬±¸°³¹ßµéÀ» ÅëÇØ Safety-CriticalÇÑ ¼ÒÇÁÆ®¿þ¾î ¸í¼¼È­¿Í Çϵå¿þ¾î ¼³°è, ÇÁ·ÎÅäÄÝ Ç¥ÁØÈ­ °ËÁõ¿¡ À־ Çü½Ä±â¹ýÀÇ À¯¿ëÇÔÀº ÀÌ¹Ì ÀÔÁõµÇ¾ú´Ù. °¡±î¿î Àå·¡¿¡ ÀüüÀûÀÎ ½Ã½ºÅÛ °³¹ß°úÁ¤¿¡ Çü½Ä±â¹ýÀÇ Àû¿ëÀÌ ÀÌ·ç¾î Áú °ÍÀ¸·Î ±â´ëµÇ¸ç, ±×·¸°Ô µÇ±â À§Çؼ­ ±â¹ý°ú ÅøÀ» °³¹ßÇØ¾ßÇÏ´Â ¿¬±¸¼öÇàÀÚ¿Í °³¹ßµÈ ÅøÀ» ÀÌ¿ëÇÏ´Â »ç¿ëÀÚ°¡ ÇØ°á ÇØ¾ßÇÒ ¹®Á¦¸¦ ¼³¸íÇÏ´Â °ÍÀ¸·Î º» °í¸¦ ¸Î°íÀÚ ÇÑ´Ù.
 ¸ÕÀú Çü½Ä±â¹ý¿¡ ´ëÇÑ ¿¬±¸ÀÚ´Â »õ·Î¿î ¸í¼¼ ¾ð¾î¿Í °ËÁõ±â¼ú¿¡ ´ëÇÑ ±âº» ¿¬±¸¸¦ °è¼ÓÀûÀ¸·Î ¼öÇàÇØ¾ß ÇÒ °ÍÀÌ´Ù. ƯÈ÷ »ç¿ëÀÚ¸¦ À§Çؼ­ ºñÀü¹®°¡µµ Á¢±Ù °¡´ÉÇÑ Åø°ú ±âÈ£¸¦ °í¾ÈÇϱâ À§ÇÑ ²ÙÁØÇÑ ³ë·ÂÀÌ ¿ä±¸µÈ´Ù. °³¹ßµÈ ÅøÀ̳ª ±â¹ýÀ» »ç¿ëÇØ¾ßÇÏ´Â ½Ã½ºÅÛ °³¹ßÀÚ´Â ±×µéÀÌ Çü½Ä±â¹ýÀ» »ç¿ëÇϰí ÀÖ´Ù´Â »ý°¢Á¶Â÷ ÇÏÁö ¾ÊÀ» Á¤µµ·Î ÃæºÐÇÑ ÈÆ·ÃÀÌ ¿ä±¸µÇ¸ç, ±×µéÀÇ »ý°¢À» ´Ù¸¥ »ç¶÷¿¡°Ô Àü´ÞÇÏ´Â ¼ö´ÜÀ¸·Î Çü½Ä¸í¼¼ ¾ð¾î ±âÈ£¸¦ »ç¿ëÇÒ ÁÙ ¾Ë¾Æ¾ßÇϸç, ¸ðµ¨ °Ë»ç±â¿Í Áõ¸í °Ë»ç±â °°Àº ÅøÀ» °í±Þ¾ð¾îÀÇ ¹ø¿ª±â¸¦ »ç¿ëÇϵíÀÌ ½±°Ô »ç¿ëÇÒ ÁÙ ¾Ë¾Æ¾ß ÇÒ °ÍÀÌ´Ù.

 

< Âü°í¹®Çå >

[1] McDermid J.A, 'Formal Methods : Use and Relevance for the Development of Safety-critical systems', pp. 96-153. oxford: Butterworth-Heinemann, 1993.
[2] Rushby J, 'Formal Methods and the Certification of Critical Systems', Technical report CSL-93-7, SRI International, Menlo Park, CA., 1993.
[3] Butler, Ricky W. and Finelli, George B. 'The Infeasibility of Quantifying the  Reliability of Life-Critical Real-Time Software', IEEE Transactions on Software Engineering, vol. 19, no. 1, Jan., pp. 3-12., 1993.
[4] Butler, Ricky W. and Finelli, George B., 'The Infeasibility of Experimental Qualification of Life-Critical Software Reliability', Proceedings of ACM SIGSOFT '91 Conference on Software for Critical Systems, New Oleans, Louisiana, Dec., pp.66-76., 1991.
[5] Holloway, C. Michael and Holloway, C. Michael, 'Why Engineers Should Consider Formal Methods', Proceedings of the 16th AIAA/IEEE Digital Avionics Systems Conference, October 26-30, Irvine CA, Volume 1, pages 1.3-16-1.3-22, 1991.
[6] M. Ingleby and I. Mitchell, 'Formal Mathematics for Signalling', Report of an IRSE Seminar, 15th April 19096.
[7] ÜØËª ÚÏ, ÜØï£ ÎÃÛ», '«Ú«È«ê«Í«Ä«ÈªËªèªëÖ§ÔÑÞÂåÆªÎËþ¡¡', RTRI Report Vol. 9, No. 11, pp. 19-24, 1995.