ÀÌ·¯ÇÑ ÄÄÇ»Æà ȯ°æ¿¡ ÃÖÀûÀ¸·Î ÀûÀÀÇÏ´Â Äڵ带 ¸¸µé±â À§Çؼ´Â Áö±Ý±îÁö »ý°¢Áö ¸øÇÑ ¸¹Àº ¹®Á¦µéÀÌ ÇØ°áµÇ¾ßÇÑ´Ù. ¹°·Ð, ÇöÀçÀÇ ÄÄÇ»ÆÃȯ°æ(desk-top computing) ¿¡¼µµ ½ÇÇàÄÚµåÀÇ ºÎÇ°°ú µ¥ÀÌŸ¸¦ Àû½Ã¿¡ µ¿¿øÇؼ(µð½ºÅ©·ÎºÎÅÍ ºÒ·¯µé¿©¼) ÇÁ·Î±×·¥À» ½ÇÇàÇÏ´Â °ÍÀº °¡´ÉÇØ¿Ô´ø ÀÏÀÌ´Ù. ±×·¯³ª ¹Ì·¡ÀÇ Àü Áö±¸Àû ÄÄÇ»Æà ȯ°æ¿¡¼ ¹®Á¦°¡ µÇ´Â °ÍÀº, ±×·¯ÇÑ ÀϵéÀÌ Àü¼¼°èÀÇ ¸ðµç ÄÄÇ»Å͸¦ ¹Àº ÃÊ°í¼Ó ³ÝÆ®¿÷À» Ÿ°í ¾öû³ ¾ç°ú ºóµµ·Î ¹ß»ýÇÏ°Ô µÈ´Ù´Â °ÍÀÌ´Ù. Àü¼¼°è ¸ðµç Äڵ尡 ±¤¼ÓÀ¸·Î Áö±¸À§¸¦ ¿òÁ÷ÀÌ¸é¼ »ç¿ëÀÚ¿¡°Ô ÃÖÀûÀÇ ¼º´ÉÀ» Á¦°øÇÏ·Á°í °æÀïÇϴ ȯ°æ¿¡¼ ±×·¯ÇÑ ÀϵéÀÌ ÀϾ´Â °ÍÀÌ´Ù. ÀÌ·¯ÇÑ È¯°æ¿¡¼ ÃÖÀûÀ¸·Î ¼öÇàµÇ´Â ÄÚµå´Â ´ÙÀ½ÀÇ ¹®Á¦¸¦ ÇØ°áÇÏ°í ÀÖ¾î¾ß ÇÑ´Ù.
Àü¼¼°èÀûÀ¸·Î, ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀ» ¿¬±¸ÇÏ´Â ±×·ìÀº ´ë»óÀ¸·Î ÇÏ´Â ÇÁ·Î±×·¡¹Ö Àα¸ÀÇ °ü¼º(programming sociology)À» µû¶ó°¡±â ¶§¹®¿¡(Java ÁÖº¯ÀÇ °æ¿ì¿Í °°ÀÌ) ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ ½Å ÀÌ·ÐÀ» ¹Þ¾ÆµéÀÌ´Â °ÍÀÌ ´À¸®°í, ÇÁ·Î±×·¡¹Ö ¾ð¾î À̷п¡ ¸ôµÎÇÏ´Â ±×·ìÀº ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛ ±â¼ú¿¡ÀÇ ÀÀ¿ë¿¡ ¹«°ü½ÉÇÏ´Ù. ÀÌ Æ´»õ¸¦ º» ¿¬±¸°¡ °ø·«ÇÒ °ÍÀÌ´Ù. º»ÀÎÀÌ ÀÌ µÎ ºÐ¾ßÀÇ ´ëÇ¥ÀûÀÎ ¿¬±¸±×·ì (Center for Supercomputing Research and Development, University of Illinois at Urbana-Champaign °ú Software Principles Research Department, Bell Laboratories) ¿¡¼ ¿¬±¸ÇÑ ÀÕÁ¡À» ¸ðµÎ µ¿¿øÇÒ °ÍÀ̸ç, ±× Á߽ɿ¡´Â º»ÀÎÀÌ Áö±Ý±îÁö ¼º°øÀûÀ¸·Î ¼öÇàÇØ¿Â, Àṉ̀¸Á¶¿¡ ÀÔ°¢ÇÑ ÇÁ·Î±×·¥ ºÐ¼® (semantics-based static analysis) ¿¬±¸°¡ ÀÚ¸®ÇÒ °ÍÀÌ´Ù.
´õ±º´Ù³ª, Áö±Ý±îÁöÀÇ ±Û·Î¹ú ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀÇ ¿©·¯°¡Áö ¹®Á¦¸¦ ÇØ°áÇÏ´Â µ¥¿¡´Â ÇÁ·Î±×·¥ ºÐ¼® ºÐ¾ß¿¡¼ ¿¬±¸µÈ ¸¹Àº °á°úµéÀÌ ¸Å¿ì À¯¿ëÇÏ°Ô »ç¿ëµÉ ¼ö ÀÖ´Â µ¥µµ ºÒ±¸ÇÏ°í ÀÌ µÎ ºÐ¾ß°¡ ¾ÆÁ÷ È°¹ßÈ÷ ¼ÒÅëÇÏ°í ÀÖÁö ¸øÇÏ´Ù\cite{ToTh97}. ¾î¼¸é, ±Û·Î¹ú ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛÀÇ ¹®Á¦µéÀÌ ¾î¶²°ÍÀÌ ÀÖÀ»Áöµµ ¾ÆÁ÷ Á¤È®ÇÏ°Ô Á¤ÀǵÇÁö ¾ÊÀº »óŶó¼, ÇÁ·Î±×·¥ ºÐ¼®ÀÌ·ÐÀÌ ¾î¶»°Ô »ç¿ëµÉ ¼ö ÀÖÀ» Áö°¡ µå·¯³ªÁö ¾ÊÀº °ÍÀÏ ¼öµµ ÀÖ´Ù.
ÇÁ·Î±×·¥ÀÌ ½ÇÇàÁß¿¡ ÆÄÇàÀûÀ¸·Î ÁߴܵÇÁö ¾Ê´Â´Ù´Â ±âº»ÀûÀÎ ¾ÈÀü¼º (type safety), ÇÁ·Î±×·¥ÀÌ ½ÇÇàÁß¿¡ ÀÚ¿øÀ» ¾ó¸¶ ÀÌÇϸ¸ »ç¿ëÇØ¾ß ÇÑ´Ù´Â ½ÇÇàºñ¿ëÀÇ ¾ÈÀü¼º (resource safety), ½ÇÇàÁß¿¡ Ç×»ó ¾à¼ÓÇÑ ¿øÄ¢(¿¹¸¦µé¾î, ¸Þ¸ð¸®¿¡ Ç¥ÇöµÇ´Â ¸®½ºÆ®±¸Á¶´Â Ç×»ó ƯÁ¤ ¸Þ¸ð¸® ¿µ¿ª¿¡¼¸¸ ±¸ÇöµÈ´Ù´Â µî)À» ÁؼöÇØ¾ß ÇÑ´Ù´Â ¾ÈÀü¼º (invariant safety) µîÀ» °ËÁõÇÏ´Â °ÍÀÌ ¸ðµÎ ÇÁ·Î±×·¥ÀÇ ºÐ¼®À» ÅëÇؼ °¡´ÉÇØÁø´Ù.
À̶§, °í¾ÈµÈ ºÐ¼®±â°¡ ÀÓÀÇÀÇ ÇÁ·Î±×·¥ÀÇ ½ÇÇàÁß¿¡ ¹ß»ýÇÏ´Â ¸ðµç °æ¿ì¸¦ ¿¹ÃøÇÑ´Ù´Â °ÍÀÌ Áõ¸íµÇ¾ß ÇÏ°í, ÀÌ Áõ¸íÀº ´ë»ó ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ Àṉ̀¸Á¶ ½ÄÀ¸·Î ºÎÅ͸¸ÀÌ ¾ö¹ÐÇÏ°Ô ÁøÇàµÉ ¼ö ÀÖ´Ù.
ÇÑÆí, ÇÁ·Î±×·¥À» ¹Þ¾Æµç Ãø¿¡¼ ¾ÈÀü¼º °ËÁõÀÌ Á¦´ë·Î µÈ °ÍÀÎÁö¸¦ È®ÀÎÇÒ ¼ö ÀÖ¾î¾ß Çϴµ¥, ÀÌ ¹æ¹ýµµ ÇÁ·Î±×·¥ ºÐ¼®ÀÌ·ÐÀ» ÀÌ¿ëÇؼ °í¾ÈµÉ ¼ö ÀÖ´Ù. ¸ðµç ÇÁ·Î±×·¥ ºÐ¼®ÀÇ °è»ê °úÁ¤Àº ¹Ýº¹¹ý(fixpoint iteration)À» »ç¿ëÇؼ ±¸Çö µÉ ¼ö Àִµ¥, ÀÌ ¹Ýº¹ °úÁ¤À» °ÅÃļ ÃÖÁ¾ÀûÀ¸·Î º¯ÇÏÁö ¾Ê´Â(repeat until no change) ºÐ¼® °ªÀ» ã´Â °ÍÀÌ ºÐ¼®ÀÇ °úÁ¤ÀÌ µÈ´Ù. À̶§, ¹Ýº¹ÀûÀ¸·Î °è»êµÇ´Â ºÐ¼® °ªµéÀº Ç×»ó ´ÜÁ¶Áõ°¡ÇÏ°Ô µÇ´Âµ¥, ÀÌ·¯ÇÑ ºÐ¼® °è»êÀÇ ´ÜÁ¶Áõ°¡(monotonicity) ¼ºÁúÀ» ÀÌ¿ëÇÒ ¼ö ÀÖ´Ù. Äڵ带 Á¦°øÇÏ´Â Ãø¿¡¼´Â ÄÚµåÀÇ °¢ ½Äµé¿¡ ´ëÇØ ºÐ¼®µÈ ³»¿ëÀ» Äڵ忡 µþ·Á º¸³»°í, Äڵ带 ¹Þ¾Æµç Ãø¿¡¼´Â ÀÌ ³»¿ë¿¡¼ ºÎÅÍ ºÐ¼®ÀÇ ¹Ýº¹ °è»êÀ» ¼öÇàÇØ º»´Ù. À̶§ °è»êÀÇ Ã¹ ¹Ýº¹ ÈÄ¿¡ ±× µû¶ó¿Â ³»¿ëÀÌ º¯ÇÏÁö ¾Ê´Â °ÍÀ̾ú´Ù¸é, ±× ³»¿ëµéÀº ¿Ã¹Ù¸¥ ºÐ¼® ³»¿ëÀ̶ó´Â °ÍÀ» È®½ÅÇÏ°Ô µÈ´Ù.
ÁÖ¾îÁø ÇÁ·Î±×·¥À» °°Àº ÀÏÀ» ÇÏ¸é¼ ´õ¿í ¹Ðµµ ÀÖ´Â ÇÁ·Î±×·¥À¸·Î º¯ÇüÇØ ÁÖ±â À§Çؼ´Â, ±× ÇÁ·Î±×·¥ÀÌ ½ÇÇàÁß¿¡ ¹«½¼ÀÏÀ» ¹úÀÌ´Â Áö¸¦ ºÐ¼®ÇØ¾ß ÇÑ´Ù. °í¾ÈµÈ ºÐ¼®±â´Â ÇÁ·Î±×·¥ÀÌ ½ÇÇàÁß¿¡ ÀÏÀ¸Å³ ¼ö ÀÖ´Â ¸ðµç ¸Þ¸ð¸® ¹ÝÀÀÀ» ºüÁü¾øÀÌ ¿¹ÃøÇؼ µ¿ÀÏÇÑ ¸Þ¸ð¸® ¹ÝÀÀÀ» À̲ø¾î³»´Â °í ¹Ðµµ Äڵ带 »ý¼ºÇÏ°Ô µÈ´Ù.
ÇÁ·Î±×·¥ ºÐ¼®À» ÅëÇؼ Äڵ忡¼ °°Àº °ªÀ» °è»êÇÏ´Â Áߺ¹µÈ ½ÄÀ̳ª ½ÇÇàÁß¿¡ »ç¿ëµÇÁö ¾ÊÀ» °ªÀ» °è»êÇÏ´Â ½ÄµéÀ» ã¾Æ³¾ ¼ö ÀÖ´Ù. ¶Ç, ÄÚµåÀÇ ¹°·ùºñ¿ëÀ» ÁÙÀÌ´Â ÇÑ ¹æ¹ýÀ¸·Î, ÄÚµåÀÇ Å©±â¿Í ±× Äڵ尡 ¸¸µé¾î³»´Â °ªÀÇ Å©±â¸¦ ºñ±³Çؼ ÀÛÀº °ÍÀ» ½Ç¾î º¸³»´Â ¾ÆÀ̵ð¾î°¡ ÀÖÀ» ¼ö Àִµ¥, À̶§ Äڵ尡 ¸¸µé¾î³»´Â °ªÀÇ Å©±â¸¦ ÇÁ·Î±×·¥ ºÐ¼®À» ÅëÇؼ ¿¹ÃøÇÒ ¼ö ÀÖ´Ù.
ÄÚµå ½º½º·Î ÀÔ·ÂÆÐÅÏÀ» ÀνÄÇؼ ÀÚ½ÅÀ» ÃÖÀûÈ ½ÃÅ°±â À§Çؼµµ ÇÁ·Î±×·¥ ºÐ¼®ÀÌ À¯¿ëÇÏ°Ô ¾²ÀÏ ¼ö ÀÖ´Ù. ÇÁ·Î±×·¥À» ÃÖÀûÈÇϱâ À§Çؼ´Â ÇÁ·Î±×·¥ÀÇ ½ÇÇà ³»¿ëÀ» ¹Ì¸® ºÐ¼®ÇÏ°í ÀÖ¾î¾ß Çϴµ¥, ºÐ¼®ÇÏ´Â µµÁß¿¡ ºÎ¼öÀûÀ¸·Î ÆÄ¾ÇµÉ ¼ö ÀÖ´Â °ÍÀÌ, ½ÇÇàÁß¿¡ ¾î¶² Á¤º¸¸¦ ¾Ë°ÔµÇ¸é ¾î¶°ÇÑ ¼ºÁúÀ» °¡Áö°Ô µÇ°í µû¶ó¼ ¾î¶»°Ô ÃÖÀûÈ µÉ ¼ö ÀÖ´ÂÁöÀÌ´Ù. ÀÌ·¯ÇÑ ÃÖÀûÈ °¡´É¼ºÀ» ÇÔ¼ö²Ã·Î ¿ä¾àÇؼ Äڵ忡 µþ·Á º¸³»´Â °ÍÀÌ °¡´ÉÇØ Áø´Ù. ÀÌ·¸°Ô µû¶ó°£ ÃÖÀûÈ ÇÔ¼ö´Â ½ÇÇàÁß¿¡ ¹ß»ýÇÏ´Â ÀÔ·ÂÀÌ µµÈ¼±ÀÌ µÇ¾î¼, °°ÀÌ ¿Â Äڵ带 ÃÖÀûÈ ½Ãų °ÍÀÌ°í ÀÌ·¸°Ô ÃÖÀûÈµÈ ÄÚµå´Â ´ÙÀ½¿¡ ¿À´Â ºñ½ÁÇÑ ÀԷ¿¡ ´ëÇؼ ÃÖÀûÀÇ ½ÇÇàÀ» ÇÒ °ÍÀÌ´Ù.
Áö±ÝÀº ¿ì¸®°¡ 1950³â´ë¿¡ ³õÃĹö·È´ø Á¤º¸ ±â¼úÀÇ ÁÖµµ±Ç ´ë¿¿¡ µé¾î¼³ ¼ö ÀÖ´Â µÎ¹ø° ±âȸ°¡ µÇ°í ÀÖ´Ù. Áö±ÝÀº °ðÀß 1950³â´ë - µðÁöÅ» ÄÄÇ»ÅÍ°¡ ¸· ¸¸µé¾îÁö¸é¼ ±× ±â°è¸¦ »ç¿ëÇÒ ÇÁ·Î±×·¥ÀÇ °³³äÀÌ ¸· ¹«¸£ÀÍ´ø ½Ã±â - ¿¡ ºñ°ßµÈ´Ù. ´ç½Ã¿¡ ÄÄÇ»ÅÍ ¸Þ¸ð¸®¿¡ ÀúÀåµÈ ÇÁ·Î±×·¥À» ½ÇÇàÇÏ´Â ÄÄÇ»Æà ȯ°æÀÌ ¸¸µé¾î Áö¸é¼, ÇÁ·Î±×·¥À̶õ °ÍÀ» È¿°úÀûÀ¸·Î ±â¼úÇÏ´Â ¾ð¾î¸¦ µðÀÚÀÎÇÏ°í ±¸ÇöÇÏ´Â ¹®Á¦°¡ ´ëµÎµÇ¾ú´Ù. ÀÌ ¹®Á¦¿¡ ´ëÇÑ ¿À´Ã³¯°ú °°Àº ÇØ´äÀ» °¡´ÉÇÏ°Ô Çß´ø ÇÙ½É ¿¬±¸µé(Çü½Ä¾ð¾î (formal language or automata) À̷п¡ ±âÃÊÇÑ ÇÁ·Î±×·¥ ¹®¹ýÀÇ °ËÁõ±â¼ú(parsing theory), ŸÀÔ ÀÌ·Ð(type theory)¿¡ ±âÃÊÇÑ ÇÁ·Î±×·¥ÀÇ ½ÇÇà °ª °ËÁõ±â¼ú(strong typing, type inference), ÄÄÆÄÀÏ·¯µîÀÇ ½Ã½ºÅÛ ±¸Çö ±â¼ú, ¶÷´Ù °è»ê¹ý(Lambda Calculus)¿¡ ±âÃÊÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î À̷еî)À» ÀÌ·èÇÑ ±×·ìµéÀÌ ¿À´Ã³¯ Á¤º¸ ±â¼úÀÇ ÁÖµµ±ÇÀ» Àâ°í ÀÖ°Ô µÇ¾ú´Ù.
¿À´Ã³¯ »õ·Ó°Ô ÃâÇöÇÏ°í ÀÖ´Â ÄÄÇ»Æà ȯ°æÀº 1950³â´ë¿Í ¶È °°Àº ¹®Á¦¸¦ ºÎ°¢½ÃŲ´Ù: »õ·Î¿î ȯ°æ¿¡¼ È¿°úÀûÀ¸·Î ¼öÇàµÉ ÇÁ·Î±×·¥À» ¸¸µå´Â ±â¼úÀÌ ÇÊ¿äÇÑ °ÍÀÌ´Ù. º» ¿¬±¸¿¡¼´Â, ÀÌ·¯ÇÑ ±â¼úÀÇ ÇÙ½ÉÀ̶ó°í ¿©°ÜÁö´Â ¼¼°¡Áö ¹®Á¦ - ÄÚµåÀÇ ¾ÈÀü¼º °ËÁõ, ÄÚµåÀÇ ÃÖ¼ÒÈ, ÄÚµåÀÇ ÀÚ±â ÃÖÀûÈ - ¸¦ ¾ö¹ÐÇÑ ÇÁ·Î±×·¥ ºÐ¼® À̷аú ±¸Ã¼ÀûÀÎ ½Ã½ºÅÛ ±¸ÇöÀ» ÅëÇؼ ÇØ°áÇÏ·Á°í ÇÏ´Â °ÍÀÌ´Ù. »õ·Ó°Ô ŵ¿ÇÏ´Â ÄÄÇ»Æà ȯ°æ¿¡ ÃÖÀûÀÎ ÇÁ·Î±×·¡¹Ö À̷аú ½ÇÁ¦¸¦ º» ¿¬±¸°¡ õÂøÇØ °£´Ù¸é, ´ÙÀ½ ½Ã´ëÀÇ Á¤º¸ ±â¼úÀÇ ÁÖµµ±Ç ´ë¿¿¡ ´ç´çÇÏ°Ô ¼³ ¼ö ÀÖÀ» °ÍÀÌ´Ù.
Àü ¼¼°è¸¦ ÇϳªÀÇ ½ÃÀåÀ¸·Î ¹´Â ±Û·Î¹ú¶óÀÌÁ¦À̼ÇÀÇ ¹°°áÀº, Á¤º¸±â¼úºÐ¾ß¿¡¼´Â Àü Áö±¸Àû ³ÝÆ®¿÷ ÄÄÇ»ÅÍÀÇ ¸ð½ÀÀ¸·Î ´Ù°¡ ¿À°íÀÖ°í, ÀÌ ±¸Á¶´Â ¸¶Ä¡ °è°î¿¡ Èê·¯µå´Â ¹°Ã³·³ ¸ðµç °ÍÀ» ±ÕÀÏÈÇÏ´Â ½À¼ºÀ» °¡Áö°í ÀÖ´Ù. Ä¿¹Â´ÏÄÉÀ̼ÇÀÇ ¹ß´ÞÀº ¼¼°èÀûÀ¸·Î µ¿ÀÏÇÑ ¹®Á¦¸¦ ÇØ°áÇÏ·Á´Â ÇÁ·Î±×·¥À» ´ë·®À¸·Î ¿ä±¸ÇÒ °ÍÀÌ°í, ÃÖ°íÀÇ Ç°ÁúÀ» °®Ãá ¼Ò¼öÁ¤¿¹ÀÇ Äڵ峪 µ¥ÀÌŸ¸¸ÀÌ ±×·¯ÇÑ ´Ù¼öÀÇ ÇÁ·Î±×·¥µé¼ÓÀ¸·Î Àû½Ã¿¡ ³¢¾îµé¾î°¥ °ÍÀ̱⠶§¹®ÀÌ´Ù.
µû¶ó¼, ÀÌ ³ÝÆ®¿÷À§¿¡ °¡Àå ºó¹øÈ÷ »ç¿ëµÇ´Â ÇÁ·Î±×·¥À̳ª µ¥ÀÌŸ¸¦ ¿Ã·Á³õÀ» ¼ö ÀÖÀ¸¸é ¿ì¸®´Â ¹ø¿µÇÏ°Ô µÇÁö¸¸, ÀÚÄ©ÇÏ¸é ¿ì¸®¾Õ¿¡ ¸ðµç ¹®Á¦¸¦ ÇØ°áÇÑ ¸ð½ÀÀ¸·Î ¿ÜºÎ·ÎºÎÅÍ °¿äµÇ±â ½±´Ù.
ÀÌ¿Í°°Àº ¹Ì·¡¿¡´Â Àü Áö±¸À§ÀÇ ÄÄÇ»Å͸¦ ±¤¼ÓÀ¸·Î À̵¿ÇÏ¸é¼ ÁÖ¾îÁø ÀÏÀ» ¼öÇàÇØ°¡´Â ¼ö¾øÀÌ ¸¹°í ´Ù¾çÇÑ ÄÚµå ºÎÇ°µéÀÌ »ê¾÷ÀÇ ½Ò ±¸½ÇÀ» ÇÒ °ÍÀÌ°í, º» ¿¬±¸ÀÇ ¼º°øÀûÀÎ °á½ÇÀº ÃÖ°í Ç°ÁúÀÇ ½ÒÀ» »ý»êÇÏ´Â µ¥ ÇʼöÀûÀÎ ÇÁ·Î±×·¡¹Ö µµ±¸ ±â¼úÀ» ¼¼°èÀûÀ¸·Î ¼±µµÇØ °¥ °ÍÀÌ´Ù.
´ëÇ¥ÀûÀÎ ¿¬±¸ ±×·ìÀº ¾Æ·¡¿Í °°´Ù.
Java³ª Agent°ü·Ã ¿¬±¸±×·ìµéÀº ±Û·Î¹ú ÄÄÇ»Æà ¸ðµ¨ÀÇ ¾ö¹ÐÇÑ ºÐ¼®¿¡ ±âÃÊÇÏ°í ÀÖÁö ¾ÊÀ» »Ó´õ·¯, ¹Ì·¡ÀÇ ³ÝÆ®¿÷Àº Áö±ÝÀÇ ÀÎÅͳݰú´Â ¸¹Àº Â÷ÀÌ(°¢ ½ºÀ§Äª ³ëµå°¡ ÇÁ·Î±×·¥ °¡´ÉÇÑ ÀÏ¹Ý ÇÁ·Î¼¼¼ÀÇ ¼öÁØÀ¸·Î Çâ»óµÇ´Â µî)°¡ ÀÖÀ» °ÍÀ̱⠶§¹®¿¡, ÀÌ·¯ÇÑ ¿¬±¸µéÀÌ Â÷¼¼´ë ³ÝÆ®¿÷ ÇÁ·Î±×·¡¹Ö ȯ°æ¿¡ ½±°Ô Àû¿ëµÇ´Â ±â¹Ý±â¼úÀ» ¸¸µé¾î ³¾Áö´Â Àǹ®ÀÌ´Ù.
±¹³»ÀÇ ÇÁ·Î±×·¡¹Ö ½Ã½ºÅÛ ¿¬±¸µéÀº Java °ü·Ã ¿¬±¸µéÀÌ È°¹ßÇÏ°Ô ÁøÇàµÇ°í Àִµ¥, ÀÌ ¿¬±¸µéµµ ÇÁ·Î±×·¡¹Ö ¾ð¾î ÀÌ·ÐÀ̳ª ¾ö¹ÐÇÑ ÄÄÇ»Æà ¸ðµ¨¿¡ ±âÃÊÇÏ°í ÀÖÁö ¾Ê±â ¶§¹®¿¡, ¹Ì·¡ÀÇ È¿°úÀûÀÎ ±Û·Î¹ú ÄÄÇ»ÆÃÀ» °¡´ÉÇÏ°Ô ÇÏ´Â ÇÙ½É ±â¹Ý±â¼ú·Î ºÎ°¢µÇ±â´Â Èûµé°ÍÀ¸·Î º¸ÀδÙ.
±×¸®°í, º» ¿¬±¸°¡ ÁøÇàÁß¿¡ Ç×»ó ±× ¹ßÀü°úÁ¤À» ¿°µÎ¿¡ µÎ¾î¾ß ÇÏ´Â ºÐ¾ß·Î, ÇÁ·Î±×·¡¹Ö ¾ð¾î ¸ðµ¨¿¡ ´ëÇÑ ¿¬±¸°¡ ÀÖ´Ù. ¹Ì·¡ÀÇ ±Û·Î¹ú ÄÄÇ»Æà ȯ°æÀÇ °è»ê ¸ðµ¨À» Á¦¾ÈÇÏ°í ±× ¸ðµ¨¿¡ ±âÃÊÇÑ ´Ù¾çÇÑ ÇÁ·Î±×·¡¹Ö ¾ð¾î ¸ðµ¨µéÀ» °í¾ÈÇÏ´Â ¿¬±¸·Î½á, MilnerÀÇ Pi-calculus\cite{MiPaWa89a,MiPaWa89b}, FournetÀÇ Join-calculus\cite{FoGo96,FGLMR96,FLMR96}, CardelliÀÇ Ambient-calculus\cite{CaGo98}, AbadiÀÇ Spi-calculus\cite{AbGo97,AbGo97b}µîÀÌ ÀÖ´Ù. ¹Ì·¡¿¡´Â, ÀÌ·¯ÇÑ ±âÃÊÀûÀÎ ¸ðµ¨µé¿¡ ±â¹ÝÇÑ »õ·Î¿î ±Û·Î¹ú ÇÁ·Î±×·¡¹Ö ¾ð¾î°¡ ¸¸µé¾îÁö°Å³ª(Obliq\cite{Ca94,BrNa96}, PLAN\cite{HKMGN98} µî), ±âÁ¸ÀÇ ¾ð¾î¿¡ ÀûÀýÇÑ È®ÀåÀÌ\cite{Fac93} ÀÌ·ç¾î Áú °ÍÀ¸·Î ¿¹»óµÈ´Ù. ¿ì¸®´Â ÀÌ·¯ÇÑ ±Û·Î¹ú ÇÁ·Î±×·¡¹Ö ¸ðµ¨ÀÇ ÇÙ½É ±¸Á¶µé¿¡ ´ëÇÑ ÀÌ·Ð ¿¬±¸¸¦ Ç×»ó °í·ÁÇÏ°Ô µÉ °ÍÀÌ´Ù. ù° ÀÌÀ¯´Â, º» ¿¬±¸°¡ ÀÌ·¯ÇÑ ¸ðµ¨¿¡ ±âÃÊÇÑ ¹Ì·¡ÀÇ ¾ð¾îµéÀÇ ÄÄÆÄÀÏ·¯ ½Ã½ºÅÛ¿¡ ½±°Ô Àû¿ëµÇ´Â Çٽɱâ¼úÀ» ¸¸µé¾î³»¾ß Çϱ⠶§¹®ÀÌ°í, µÑ° ÀÌÀ¯´Â, ±×·¯ÇÑ ¾ö¹ÐÇÑ ¸ðµ¨¿¡ ±âÃÊÇÑ ¿¬±¸´Â ¿ì¸®°¡ ´ë»óÀ¸·Î ÇÏ´Â ÇÁ·Î±×·¡¹Ö ¾ð¾îÀÇ ¾ö¹ÐÇÑ Àṉ̀¸Á¶¸¦ Á¦°øÇÏ´Â ±âÃÊ°¡ µÇ¾î ¿ì¸® ¿¬±¸¸¦ ¾ö°ÝÈ÷ °ËÁõÇÏ°í ±× ÇѰ踦 ±Ô¸íÇÏ´Â µ¥¿¡ ÇʼöÀ̱⠶§¹®ÀÌ´Ù.