Upgrade to Pro — share decks privately, control downloads, hide ads and more …

Swift New Concurrency Proposals(Async/await, Structured Concurrency, Actor)

Swift New Concurrency Proposals(Async/await, Structured Concurrency, Actor)

About Swift Concurrency Future

[email protected]

November 25, 2020
Tweet

Other Decks in Programming

Transcript

  1. w ϘΠϥʔϓϨʔτ ༨ܭͳίʔυ ΛݮΒ͢ w ඇಉظॲཧΛ҆શʹѻ͑ΔΑ͏ʹݴޠͰอূ͢Δ͜ ͱͰɺόάΛͳ͘͠ɺΤϯδχΞ͕ $PODVSSFODZ ಉ࣌ฒߦ ॲཧΛࣗ৴Λ࣋ͬͯߦ͑

    ΔΑ͏ʹ͢Δ w ݴޠͱͯ͠΋$PODVSSFODZ ಉ࣌ฒߦ ॲཧΛѻ͏ίʔυͷ ύϑΥʔϚϯεΛ޲্͢ΔػձΛ֫ಘ͢Δ ͜ΕΛղܾ͢ΔͨΊʹ
  2. BTZODBXBJU ௥ه w EFJOJU΍TUPSBHFBDDFTTPST TVCTDSJQUT HFUUFSͱ TFUUFS ͸ݱࡏBTZODʹͰ͖ͳ͍ কདྷతʹݕ౼ 

    w DMBTTͰBTZODJOJUΛ࢖༻ͨ͠৔߹ɺTVQFSDMBTTͰಉظతͰ BTZODͰ͸ͳ͍௨ৗͷ Ҿ਺͕ͳ͍JOJU͕͋Δ৔߹͸҉໧తʹ TVQFSJOJU ͕ݺ͹ΕΔ 
 ˞TVQFSDMBTTͷJOJU΋BTZODͷ৔߹͸ɺBXBJUΛ͚ͭͯ໌ࣔ తʹݺͼग़͢ඞཁ͕͋Δ
  3. "DUPS͸ෳ਺ͷந৅֓೦ΛҰͭʹ·ͱΊͨ΋ͷ  ֤"DUPSΠϯελϯε͸($%ΩϡʔͷΑ͏ͳ΋ͷΛ֓೦త ʹؚΜͩ$PODVSFODZͷ୯Ґ  ଞͷ$PODVSSFODZυϝΠϯ ଞͷ"DUPS΍εϨου ͔Βඇ ಉظʹϝοηʔδ͕ૹΒΕͯ͘Δ 

    Ұ࿈ͷNVUBCMF Մม ঢ়ଶΛΧϓηϧԽͯ͠ɺϝϞϦʔΛ ଞ͔Βִ཭͢Δ ͜ͷՄมঢ়ଶ͸JEFOUJUZΛ࣋ͭ   4XJGUϓϩάϥϚʹ5BTLϕʔεͷ$PODVSSFODZϓϩάϥ ϛϯάͷʮ҆શͳඪ४ʯσβΠϯύλʔϯΛఏڙ͢Δ IUUQTEPDTHPPHMFDPNEPDVNFOUEFQZ#UL1SBL-D&)7$NR/#L/JC9*;TP[E;&D ௥ه
  4.  "DUPS಺ͷϓϩύςΟطʹकΒΕ͍ͯΔ  *NNVUBCMF ෆม ͳϝϞϦʔ 
 MFUఆ਺ɺΩϟϓνϟ͞Εͳ͍MPDBMม਺ɺ஋ܕ TUSVDU ͷϓϩύςΟ

    FOVNͷDBTF طʹकΒΕ͍ͯΔ  6OTBGFͳϝϞϦʔ 
 6OTBGF.VUBCMF1PJOUFSͰࢀর͞ΕΔΑ͏ͳ6OTBGF Ͱந৅Խ͞ΕͨΫϥεͳͲݩʑ҆શͳܕγεςϜͷ ൣғ֎Ͱͷ࢖༻ʹͳΔͷͰݴޠͰकΔର৅Ͱ͸ͳ͍ Τϯ δχΞͷࣗݾ੹೚ʣ .FNPSZ$BUFHPSZ
  5.  NVUBCMFͳHMPCBMม਺΍TUBUJDม਺ 
 कΔඞཁ͕͋Δ  ϝϞϦΛγΣΞͰ͖ΔDMBTTͳͲͷࢀরܕ΍ࢀরܕΛอ ͍࣋ͯ͠ΔTUSVDUɺFOVNͳͲ 
 कΔඞཁ͕͋Δ 


    ˞"DUPSͰࢀর͕कΒΕ͍ͯͨͱͯ͠΋ͦͷࢀরΛ"DUPSؒͰड͚౉͠ Ͱ͖ΔͷͰɺσʔλڝ߹ͷՄೳੑ͋Γ .FNPSZ$BUFHPSZ "DUPS*TPMBUJPOΛୡ੒͢ΔͨΊʹ͸ 
 ͜ͷͭͷΧςΰϦʔΛकΔඞཁ͕͋Δ
  6. ୈϑΣʔζ'VMM"DUPS*TPMBUJPO 
 4PVSDFCSFBLJOHͷՄೳੑ w HMPCBMม਺ɺࢀরܕΛBDUPSMPDBMͱΈͳ͢͜ͱ w BDUPSMPDBMʹͳΔͱ"DUPSؒͰͦͷσʔλͷड͚ ౉͕͠Ͱ͖ͳ͘ͳΔ ίϯύΠϧΤϥʔʹ͢Δ 

    w HMPCBMม਺͸"DUPS·ͨ͸BDUPSVOTBGFʹઃఆ͠ ͳ͍ͱBDUPSMPDBMʹͳΔ w DMBTT΍DMBTTΛ಺෦ʹอ࣋͢Δܕ͸BDUPSVOTBGF ͔ΒBDUPSMPDBM΁σϑΥϧτͷઃఆ͕มΘΔ
  7. ಺༰ͷมߋ IUUQTGPSVNTTXJGUPSHUDPODVSSFODZFWPMWJOHUIFDPODVSSFODZEFTJHOBOEQSPQPTBMT w OVSTFSZUBTLHSPVQT 4USVDUVSFE$PODVSSFODZ  w TZODϝιου΋BDUPSͷ֎Ͱݺ΂ΔΑ͏ʹ͢Δ ͦͷ৔߹͸BTZODͷΑ͏ʹݟͳ͞ΕΔ 

    w γάωνϟ͕ඃͬͯ͠·͏ϝιουͷPWFSSJEFΛېࢭ͢Δ w ೚ҙͷDMBTT͸"DUPS1SPUPDPMʹద߹Ͱ͖ͳ͘͢Δ w USZBXBJU͸❌ɻBXBJUUSZΛඞਢͱ͢Δɻ w ҆શʹ$PODVSSFODZͰѻ͑ΔσʔλϞσϧͷఆٛΛ໌֬ʹ͢Δ w !VONPWBCMF΁ͷࢀরΛ࡟আ͢Δ
  8. ͞Βʹٞ࿦͕ඞཁͳϙΠϯτ IUUQTGPSVNTTXJGUPSHUDPODVSSFODZFWPMWJOHUIFDPODVSSFODZEFTJHOBOEQSPQPTBMT w "DUPS಺ͰBTZODGVODUJPOΛݺͼग़͍ͯ͠Δ࣌ʹଞͷίʔυΛ࣮ߦͰ͖ΔΑ͏ʹ͢Δ͔Ͳ͏͔ Ϧ Τϯτϥϯτ໰୊  w "DUPSؒͰ஋Λड͚౉࣌͢ʹͲ͏"DUPS*TPMBUJPOΛอূ͢Δ͔ "DUPS4FOEBCMF΍7BMVF

    4FNBOUJDTϓϩτίϧͷݕ౼ͳͲ  w $PODVSSFODZͰͷؔ਺ܕΛΑΓ໌֬ʹ͢Δํ๏ w ΫϩʔδϟʔͰΩϟϓνϟ͞ΕͨMPDBMม਺ʹ΋"DUPS*TPMBUJPOͷϧʔϧΛ޿͛Δ͔Ͳ͏͔ w SFUISPXTΛิ׬͢Δଘࡏͱͯ͠SFBTZODΛಋೖ͢Δ͔Ͳ͏͔ w TZODϝιουͷ҉໧తͳBTZODGVODUJPO΁ͷม׵ΛڐՄ͢Δ͔Ͳ͏͔
  9. ϩʔυϚοϓ ࣮૷ॱ൪  ඇಉظؔ਺ BTZODBXBJU શͯͷجૅɻBTZODISPOZ ඇಉظੑ ΛϞσϧ Խ͢Δ͕ɺ$PODVSSFODZ ಉ࣌ฒߦ

    ͸ؚΊͳ͍ɻ  4USVDUVSFEDPODVSSFODZBTZODBXBJUͷ্ʹ$PODVSSFODZ ಉ࣌ฒ ߦ ͷ࢓૊ΈΛ৐ͤΔ  "DUPST%BUB*TPMBUJPO σʔλڝ߹๷ࢭ Λ࣮ݱ͢ΔͨΊͷ৽͍͠ܕͷಋೖ  (MPCBMBDUPSTϝΠϯεϨου΍άϩʔόϧม਺ͳͲ΋໢ཏͰ͖ΔΑ͏ʹ 
 શσʔλλΠϓʹ"DUPSTΛ֦ு͢Δ IUUQTGPSVNTTXJGUPSHUDPODVSSFODZFWPMWJOHUIFDPODVSSFODZEFTJHOBOEQSPQPTBMT
  10. BTZODGVODUJPOͷ಺෦ಈ࡞  DBMMFSͰҾ਺͕ධՁ͞ΕΔ TZODϝιουͱಉ͡   DBMMFFͷFYFDVUFS͕ܾ·Δ  DBMMFSͱDBMMFFͷFYFDVUFS͕ҧ͏৔߹ɺTVTQFOTJPO͕ൃੜͯ͠ɺDBMMFFͷॲ ཧͷ࣮ߦ͸DBMMFFͷFYFDVUFSͷΩϡʔʹೖͬͯॱ൪Λ଴ͭ

     DBMMFFͷॲཧ͕࣮ߦ͞ΕΔ  DBMMFF͔ΒͷSFUVSOΛड͚औΔࡍɺDBMMFSͱDBMMFFͷFYFDVUFS͕ҧ͏৔߹ɺ TVTQFOTJPO͕ൃੜͯ͠ɺDBMMFSͷॲཧͷ࣮ߦ͸DBMMFSͷFYFDVUFSͷΩϡʔʹ ೖͬͯॱ൪Λ଴ͭ  DBMMFSͷॲཧ͕DBMMFSͷFYFDVUFS্Ͱ࣮ߦ͞ΕΔɻDBMMFF͕ਖ਼ৗʹSFUVSOͨ͠ ৔߹͸ͦͷ··ॲཧ͕ܧଓ͞ΕΔ͕ɺDBMMFF͕FSSPSΛUISPXͨ͠৔߹͸ɺ DBMMFS΋FSSPSΛUISPX͢Δ
  11. 4USVDUVSFE$PODVSSFODZ 8IBU w BTZODGVODUJPO಺Ͱͷಉ࣌ฒߦॲཧΛ࣮ݱ͢Δ BTZODBXBJUࣗମ͸BTZODGVODUJPO಺ͷ TVTQFOTJPOQPJOU͸ߟྀ͞Ε͍ͯͳ͍  w શͯͷBTZODGVODUJPOΛඇಉظͷ5BTLͷҰ෦ͱ࣮ͯ͠ ߦ͢Δ

    w ಉ͡είʔϓ಺Ͱͷෳ਺ͷ$IJME5BTLͷΩϟϯηϧॲཧ ΍1SJPSJUZͷίϯτϩʔϧɺ৘ใͷڞ༗ͳͲΛΘ͔Γ΍ ͘͢ɺޮ཰తʹ࣮૷Ͱ͖ΔΑ͏ʹ͢Δ ௥ه
  12. 5BTLT 8IBU w $PODVSSFODZͷجຊ୯Ґ w શͯͷBTZODGVODUJPO͸͋Δ5BTLͷதͰ࣮ߦ͞ΕΔ w 5BTL಺ͰBTZODGVODUJPO͕ݺ͹Εͨ৔߹ɺͦͷؔ਺ ͸ಉ͡5BTL಺Ͱ࣮ߦ͞ΕΔ w

    ಉ༷ʹݺͼग़͠ଆ΋໭Γ஋Λड͚औͬͨΒಉ͡5BTL಺ ͰॲཧΛܧଓ͢Δ w TZODGVODUJPO͸ಉ͡5BTL಺Ͱ࣮ߦ͞ΕΔඞཁ͸ͳ͍ w 5BTL͸4ZTUFN5ISFBE্Ͱ࣮ߦ͞ΕΔ ௥ه
  13. 5BTL`T5ISFF4UBUF 8IBU w 4VTQFOEFE ࣮ߦ͢Δॲཧ͕͋Δ͕ɺݱࡏ͸࣮ߦ͞Ε͍ͯͳ͍ 
 ࣮ߦ४උ͸Ͱ͖͍ͯΔ͕ɺ։࢝Λ଴͍ͬͯΔঢ়ଶ 
 ࣮ߦ։࢝Ͱ͖ΔͨΊʹ֎෦ͷΠϕϯτΛ଴͍ͬͯΔ৘ใ w

    3VOOJOH ࣮ߦத 
 શͯͷॲཧΛ࣮ߦͯ͠DPNQMFUFEʹͳΔ͔ɺ͞Βʹ಺෦ͷ TVTQFOTJPOQPJOUʹ౸ୡͯ͠TVTQFOEFEʹͳΔ w $PNQMFUFE શॲཧ͕׬ྃͯ͠ɺଞͷঢ়ଶʹ͜ΕҎ্มΘΒͳ͍ 
 ίʔυ্͸BXBJUͳͲͰ5BTL͕DPNQMFUFEʹͳΔ͜ͱΛ଴ͬͯ ͍Δ ௥ه
  14. &YFDVUPST 8IBU w 1BSUJBM5BTLΛड͚औͬͯɺ࣮ߦ͢ΔͨΊʹ4ZTUFNͷ5ISFBEͱඥ ͚ͮΔ w ݱࡏ࣮ߦதͷBTZODGVODUJPO͸Ͳͷ&YFDVUPSͰॲཧ͕ߦΘΕ͍ͯ Δ͔͕Θ͔ΔͨΊɺޮ཰తʹಉ͡&YFDVUPSͰॲཧ͢Δ͜ͱ͕Ͱ͖Δ w &YFDVUPS͸1BSUJBM5BTL͕$PODVSSFODZʹ࣮ߦ͞Εͳ͍ݶΓɺഉ

    ଞతʹݺ͹ΕΔɻ 
 1BSUJBM5BTL͸IBQQFOTCFGPSFؔ܎Ͱॱ൪ʹฒ΂ΒΕͳ͚Ε͹ ͳΒͳ͍ 
 ˞ͨͩ͠ɺ͜ͷॱ൪ΑΓ΋1SJPSJUZ͕༏ઌ͞ΕΔ w 4XJGU͸σϑΥϧτͷFYFDVUFSͷ࣮૷Λఏڙ͢Δ BDUPS΍HMPCBM BDUPS͸ผͷ࣮૷͕͋Δ ௥ه
  15. 5BTLQSJPSJUJFT 8IBU w 5BTL͸ಛఆͷQSJPSJUZʹඥ͍͍ͮͯΔ w &YFDVUPS͸1SJPSJUZΛݩʹ5BTLΛ͍ͭͲ͏΍ͬͯεέδϡʔϧ͢Δ ͔ΛܾΊΔ 
 1SJPSJUZͷߴ͍΋ͷ͔Βઌʹ࣮ߦ͠Α͏ͱ͢Δ ͜Ε͸1MBUGPSNͷ5ISFBEͷ

    1SJPSJUZʹӨڹΛ༩͑Δ͜ͱ΋͋Δ ͨͩ͠ɺ࣮ࡍͷܾఆํ๏͸ݸʑͷ 1MBUGPSN΍&YFDVUFSͷ࣮૷ʹҕͶΒΕ͍ͯΔ w $IJME5BTL͸1BSFOUͷ1SJPSJUZΛܧঝ͢Δɻ%FUBDIFE5BTL͸ܧ ঝ͠ͳ͍ɻ w 5BTLͷ1SJPSJUZ͸&YFDVUFSͷ1SJPSJUZͱඞͣ͠΋Ұக͍ͯ͠ͳ͍ ྫ͑͹6*5ISFBEʹεέδϡʔϦϯά͞Εͨ5BTL͸6*5ISFBEͷ࣮ߦதʹଞ ͷ1SJPSJUZͷߴ͍5BTLͱҰॹʹ࣮ߦ͞ΕΔ ௥ه
  16. 1SJPSJUZ&TDBMBUJPO 8IBU 1SJPSJUZ*OWFSTJPO 1SJPSJUZͷ௿͍΋ͷ͕ߴ͍΋ͷΑΓ΋ઌʹ࣮ߦ͞Εͯ ͠·͏͜ͱ Λ๷͙ͨΊʹ&TDBMBUFͤ͞Δ ࣮ߦॱংΛ্͛Δ ৔߹͕͋Δ w "DUPS্Ͱ5BTL

    " Λ࣮ߦ͍ͯ͠Δ࣌ʹɺΑΓ1SJPSJUZͷߴ͍ 5BTL # ͕࣮ߦ଴ͪͷΩϡʔʹೖ͖ͬͯͨ৔߹ɺ࣮ߦதͷ 5BTL " ͸5BTL # ͱಉ͡1SJPSJUZͱͯ͠Ұ࣌తʹ࣮ߦ͞Ε Δɻ$IJME5BTL΍5BTLͷݩʑͷ1SJPSJUZʹ͸Өڹ͠ͳ͍ w 5BTL)BOEMFΛ൐ͬͯ5BTL " Λ࡞੒ͯ͠ɺͦͷ5BTLΛΑΓ 1SJPSJUZͷߴ͍5BTL # ͕ͦͷ׬ྃΛ଴͍ͬͯΔ৔߹ɺ 5BTL " ͷ1SJPSJUZ͸5BTL # ͱಉ͡1SJPSJUZʹ߃ٱతʹ্͛ ΒΕΔɻ$IJME5BTL΍5BTLͷݩʑͷ1SJPSJUZʹ͸Өڹ͢Δ ௥ه
  17. 5BTLHSPVQT 8IBU XJUI(SPVQ SFTVMU5ZQFCPEZ w 5BTLXJUI(SPVQͰείʔϓΛ࡞੒͢Δ w BEE(_:)Ͱ$IJME5BTLΛ௥Ճ͢Δ ͜͜Ͱॲཧ͸։࢝ 

    w next()Ͱॲཧ͕׬ྃͨ͠$IJME5BTLͷ݁ՌΛॱ࣍ड͚औΔ w શͯͷ$IJME5BTL͕׬ྃ͢ΔલʹCPEZ͔Βൈ͚ͨ৔߹ɺ҉໧తʹ$IJME5BTLͷ׬ྃ ΛBXBJU͢Δ w Τϥʔ͕UISPX͞Εͨ৔߹ɺະ׬ྃͷ5BTL͸DBODFM͞ΕΔ ௥ه
  18. w TUSFBNT MPOH 
 ॱ൪ʹҰͭҰͭγάφϧΛૹΔz௕͍zϓϩηεɻCBDLQSFTTVSF͸ݺͼग़ ͠ଆͰܾఆ͞ΕΔ 3FBDUJWF4USFBNTͷ࢓༷ʹ४ͣΔ  w HSPVQT

    XJEF 
 ॱෆಉʹz޿͘zฒྻʹγάφϧΛૹΔϓϩηε΍4DBUUFSHBUIFSͳλε ΫɻCBDLQSFTTVSF͸HSPVQ୯ҐͰ؅ཧ͞ΕΔ λεΫͷ௥ՃΛԆظ͢Δ  w BDUPST JTPMBUFEEBUB 
 ଟ͘ͷ৔ॴ͔ΒૹΒΕͨΠϕϯτʹ൓Ԡͯ͠ॲཧΛ։࢝͢Δzִ཭͞Εͨzσ ʔλɻCBDLQSFTTVSF͸ɺ಺෦ͰBTZODΛར༻ͯ͠ɺ࣮ߦதͷॲཧ͕׬ྃ ͢Δ·Ͱա৒ʹॲཧΛ։࢝͠ͳ͍͜ͱͰߦΘΕΔ IUUQTGPSVNTTXJGUPSHUDPODVSSFODZFWPMWJOHUIFDPODVSSFODZEFTJHOBOEQSPQPTBMT ˞CBDLQSFTTVSFྲྀྔ੍ޚ IUUQTXXXSFBDUJWFNBOJGFTUPPSHKBHMPTTBSZ#BDL1SFTTVSF
  19. %FUBDIFE5BTLT 8IBU w 1BSFOU5BTL͕ͳ͍ಠཱͨ͠5BTLΛ࡞੒͢Δ w $IJME5BTLͱҧͬͯར༻ऀ͕͍ͳͯ͘΋DBODFM͞Εͳ͍ w SVO%FUBDIFE͕5BTL)BOEMFΛฦ͢ w HFU

    ΛݺͿ͜ͱͰ݁ՌΛ଴ػͯ͠஋Λऔಘ͢Δ w ඞཁ͕ͳ͘ͳΕ͹DBODFM Λ͢Δ͜ͱ΋Ͱ͖Δ w 5BTLͷ׬ྃ DBODFM Λ଴ͭඞཁ͕ͳ͍ૢ࡞ʹద͍ͯ͠Δ ௥ه
  20. $BODFMMBUJPO w 5BTL͸ͦͷࢀরΛอ͍࣋ͯ͠ΔΫϥε΍1BSFOU5BTL͔ ΒDBODFM͢Δ͜ͱ͕Ͱ͖Δ w DBODFM Λ໌ࣔతʹݺͿ͔ɺΤϥʔ͕UISPX͞Εͨࡍʹ BXBJU͍ͯ͠ͳ͍$IJME5BTL͕ଘࡏ͍ͨ͠৔߹ʹ҉໧త ʹDBODFM͞ΕΔ w

    ଟ͘ͷ৔߹ɺDBODFM͞Ε͍ͯΔ͔ΛνΣοΫ͢Δؔ਺͸ $BODFMMBUJPO&SSPS ΛUISPX͢ΔͨΊɺؔ਺ʹUISPXT ͕෇͍͓ͯΓɺݺͼग़͠ଆ͸USZΛ෇͚Δඞཁ͕͋Δ w TZODGVODUJPO΍ଞͷ&SSPSͱಉ༷ʹɺEFGFSͰDBODFM ޙͷޙॲཧΛ͢Δ͜ͱ͕Ͱ͖Δ ௥ه
  21. w  DIPQ $BSSPU $IJME5BTL Λ։࢝͢ΔΤϥʔΛUISPX͢Δͱ ૝ఆ͢Δ w  DIPQ

    0OJPO $IJME5BTL Λ։࢝͢Δ·ͩ  ͷΤϥʔ͸ DIPQ7FHFUBCMFTʹ఻೻͍ͯ͠ͳ͍ w  DBSSPUΛBXBJUͨ͠λΠϛϯάͰΤϥʔ͕UISPX͞ΕΔΤϥʔϋϯ υϦϯάΛ͍ͯ͠ͳ͍ͷͰPOJPOΛBXBJUͤͣʹDIPQ7FHFUBCMFTΛൈ͚ ΔͨΊɺPOJPO͸ࣗಈͰDBODFM͞ΕΔ w $IJME5BTL͸1BSFOUͷ֎·ͰଘଓͰ͖ͳ͍ͨΊɺPOJPOͷ5BTL͕׬ྃ͢ Δ·ͰDIPQ7FHFUBCMFT͸SFUVSOͰ͖ͳ͍ POJPOͷ݁Ռ͸ഁغ͞ΕΔ ௥ه $BODFMMBUJPO
  22. 5BTL-PDBM7BMVFT 8IBU w BTZODBXBJU΍BDUPSͳͲͷBTZODDPEFΛEFCVH΍ MPHHJOHΛ͠΍͘͢͢ΔͨΊͷ৘ใΛఏڙ͢Δ"1* w 5ISFBE-PDBM΍2VFVFʹඥ͍ͮͨ৘ใ͸5BTLϕʔεͷඇಉ ظॲཧͰ͸ਖ਼֬ͳ৘ใఏڙ͕Ͱ͖ͳ͍ ಛఆͷ5ISFBE΍ 2VFVFͰ࣮ߦ͞ΕΔอূ͸ͳ͍

     w 4XJGUͷ4USVDUVSFE$PODVSSFODZΛ׆༻͢Δ͜ͱͰɺΑΓ ਖ਼֬ͳ5BTLͷ৘ใΛఏڙͰ͖ΔΑ͏ʹ͢Δ w ϥΠϒϥϦ΍σόοάπʔϧͷ࡞ऀͳͲΛ׆༻͢Δ͜ͱΛ૝ఆ ͨ͠"1* ௥ه
  23. 5BTLMPDBMWBMVFMJGFDZDMF ௥ه w XJUI-PDBMͷείʔϓ಺ είʔϓ಺Ͱ࡞੒͞Εͨ$IJMEɹ 5BTL͕શͯ׬ྃ͢Δ·Ͱ  w ஋ܕ΋ࢀরܕ΋5BTLMPDBMʹઃఆͰ͖Δ 


    ஋ܕ͸ίϐʔ͞ΕͯUBTLMPDBMͷTUPSBHFʹอଘ͞ΕΔ 
 ࢀরܕ͸ࢀর͕UBTLMPDBMͷTUPSBHFʹอଘ͞ΕΔ w 5BTLMPDBMͷTUPSBHF΁ͷϝϞϦͷׂΓ౰ͯ͸஋Λઃఆͨ͠ 5BTLΛ௒͑ͯଘଓ͍ͯ͠ͳ͍ͨΊɺTUBDLΛ࢖ͬͨϝϞϦΞ ϩʔέʔλΛ࢖༻͢Δ
  24. "DUPS*TPMBUJPODIFDLJOH ͭͷΧςΰϦʔ w ಛఆͷ"DUPSΠϯελϯεʹඥͮ͘BDUPSJTPMBUFEͳ΋ͷ 
 "DUPS಺ͷ TUPSFE DPNQVUFE ΠϯελϯεϓϩύςΟɺϝιουɺTVCTDSJQU w

    ಛఆͷ(MPCBM"DUPSʹඥͮ͘BDUPSJTPMBUFEͳ΋ͷ 
 (MPCBM"DUPSଐੑ͕෇͍ͨ TUPSFE DPNQVUFE ΠϯελϯεϓϩύςΟɺؔ਺ɺϝιο υɺTVCTDSJQUɺΠχγϟϥΠβͳͲ w "DUPSJOEFQFOEFOU 
 ಛఆͷ"DUPSʹଐ͞ͳ͍΋ͷ 
 !BDUPS*OEFQFOEFOU͕෇͍ͨ TUPSFE DPNQVUFE ΠϯελϯεϓϩύςΟɺؔ਺ɺϝι ουɺTVCTDSJQUɺΠχγϟϥΠβͳͲ w "DUPSJOEFQFOEFOU VOTBGF 
 ্هͱಉ͕ͩ͡ɺ"DUPS*TPMBUJPODIFDLJOHͷର৅ʹͳΒͳ͍ w 6OLOPXO 
 "DUPSʹ΋ଐͣ͞ɺ"DUPSJOEFQFOEFOUͰ΋ͳ͍΋ͷɻ͜ΕΒ͸"DUPSʹଐ͞ͳ͍TIBSFE NVUBCMFTUBUFʹΑͬͯ൑அ͕มΘΔɻ
  25. "DUPS*TPMBUJPODIFDLJOH3VMFT 
 ͭͷఆٛͷதͰ"DUPS*TPMBUJPO͕อͨΕ͍ͯΔ͔Ͳ͏͔ͷνΣοΫ w λʔήοτ͕BZODͷ৔߹͸0, w ্هҎ֎Ͱ Լه͸0, 
 ιʔεͱλʔήοτ͕ಉ͡ΧςΰϦʔʹ͍Δ

    
 λʔήοτ͕BDUPS*OEFQFOEFOU VOTBGF΋ؚΉ 
 ιʔε͕BDUPS*OEFQFOEFOU VOTBGFͷΈ 
 λʔήοτ͕VOLOPXO 
 "DUPS಺ͷίʔυ͔ΒطଘͷVOLOPXOBDUPSJTPMBUJPOͷίʔυΛݺͿ͜ͱ͕Ͱ͖Δɻٯ ʹطଘͷVOLOPXOBDUPSJTPMBUJPOͷίʔυ͔Β OPOBTZODͳ "DUPS಺ͷίʔυ͸ݺͼ ग़ͤͳ͍ɻ ࣮ߦίʔυ಺Ͱ͋Δఆٛ ιʔε ͕ଞͷఆٛ λʔήοτ ʹΞΫηε ϝιο υΛݺͿɺϓϩύςΟΛ࢖͏ͳͲ ͍ͯ͠Δ৔߹
  26. "DUPS*TPMBUJPODIFDLJOH3VMFT 
 ͭͷఆٛͷதͰ"DUPS*TPMBUJPO͕อͨΕ͍ͯΔ͔Ͳ͏͔ͷνΣοΫ w PWFSSJEJOHͱPWFSSJEEFO͕ಉ͡"DUPS*TPMBUJPOͷΧςΰ Ϧʔʹ͍Δ w PWFSSJEJOH͕BDUPSJOEFQFOEFOU ͋Δఆٛ PWFSSJEJOH

    ͕ଞͷఆٛ PWFSSJEEFO Λ0WFSSJEF͍ͯ͠ Δ৔߹ ໌ࣔతʹ(MPCBM"DUPS΍!BDUPS*OEFQFOEFOU͕ઃఆ͞Ε͍ͯͳ ͍৔߹ɺPWFSSJEJOH͸PWFSSJEEFOͷଐੑΛܧঝ͢Δ
  27. w 7BMVFTFNBOUJDܕ 
 ίϐʔ͸ݩͷΠϯελϯεͱ͸׬શʹಠཱͯ͠ߦΘΕɺ͓ ޓ͍ͷ஋ͷมߋ͸Ұ੾ӨڹΛ༩͑ͳ͍ 
 7BMVFTFNBOUJDܕͷΈΛอ࣋ͨ͠TUSVDU FOVN 
 $PQZ0O8SJUFͷςΫχοΫΛ࢖༻ͯ͠DMBTTλΠϓΛ

    TUSVDU΍FOVNͰ಺แͨ͠৔߹΋7BMVFTFNBOUJDܕʹ Ͱ͖Δ "SSBZ 4USJOH %JDUJPOBSZ 4FUͳͲ͸͜Εʹ౰ ͨΔ $PODVSSFOU7BMVF ద߹Ͱ͖Δܕ ௥ه
  28. w -PDBMTUPSFEQSPQFSUJFT 
 ωετͨ͠DMPTVSF΍MPDBMؔ਺͕ಉ࣌ฒߦʹ࣮ߦ͞ΕΔ৔߹ɺ σʔλڝ߹͕ى͖ΔՄೳੑ͕͋Δɻ 
 ͦͷQSPQFSUZΛࢀর͍ͯ͠ΔશͯͷίʔυΛ୳ࡧͯ͠ಉ࣌ฒߦ ʹ࣮ߦ͞Εͦ͏ͳՄೳੑΛݟ͚ͭͯ൑அ͢Δඞཁ͕͋Δ 
 ϝιουͷ࣮૷͸Θ͔Βͳ͍ͨΊɺఆٛΛݟͯ൑அ͢Δඞཁ͕͋

    Δɻ4XJGUͰ͸طʹଞͷ5ISFBEͰ࣮ߦ͞ΕΔՄೳੑ͕͋Δ৔߹ ͸ɺDMPTVSFΛFTDBQF͢Δඞཁ͕͋Δɻ͜ΕΛ$PODVSSFODZͰ ΋׆༻ͯ͠FTDBQF͕ඞཁͳ৔߹͸ಉ࣌ฒߦʹ࣮ߦ͞ΕΔՄೳੑ͕ ͋Δͱݟͳ͢ 
 MPDBMؔ਺͸ৗʹFTDBQF͞ΕΔͱݟͳ͞ΕΔ $PODVSSFOU7BMVF WBSTUPSFEQSPQFSUJFT ௥ه
  29. w -PDBMTUPSFEQSPQFSUJFT 
 FTDBQJOHDMPTVSF DMPTVSF͕ม਺ʹอଘ͞ΕΔɺGVODUJPOͷ Ҿ਺ʹར༻͞ΕΔͳͲ ͸$PODVSSFOUʹ࣮ߦ͞ΕΔͱݟͳ͞ΕΔ 
 MPDBMؔ਺͸ৗʹFTDBQF͢Δͱ૝ఆ͞ΕΔͨΊɺ$PODVSSFOUʹ ࣮ߦ͞ΕΔͱݟͳ͞ΕΔ

    
 DMPTVSF΍MPDBMؔ਺ͦΕࣗମ͕$PODVSSFOUʹ࣮ߦ͞ΕΔͷ͸໰ ୊Ͱ͸ͳ͍ɻಉ࣌ʹ$PODVSSFODZʹ࣮ߦ͞ΕΔଞͷίʔυͷ༗ແ Λ͔֬ΊΔඞཁ͕͋Δɻ $PODVSSFOU7BMVF WBSTUPSFEQSPQFSUJFT ௥ه
  30. w -PDBMTUPSFEQSPQFSUJFT $PODVSSFOU7BMVF WBSTUPSFEQSPQFSUJFT w "PS#PS$͕ಉ࣌ฒߦʹ࣮ߦ͞ΕΔ৔߹ɺGͱ$͸$PODVSSFOU ʹ࣮ߦ͞ΕΔBSSBZͰσʔλڝ߹͕ى͖Δ FSSPS  w

    $PS#͕ಉ࣌ฒߦʹ࣮ߦ͞ΕΔ৔߹ɺ"ͱ$͸$PODVSSFOUʹ࣮ߦ ͞ΕΔPUIFS"SSBZͰσʔλڝ߹͕ى͖Δ FSSPS ௥ه
  31. ϑΣʔζ w ৽͍͠$PODVSSFODZͷ࢓૊Έ BTZODBXBJU΍"DUPS Λ࢖༻ͨ͠Օॴ ͸ɺઌ΄ͲͷϧʔϧΛकΒͳ͚Ε͹ͳΒͳ͍ w طଘͷίʔυʹؔͯ͠͸͜Ε·Ͱ௨ΓʹίϯύΠϧՄೳ ྫ طଘίʔυ಺ͷσʔλڝ߹ΛҾ͖ى͜͢Մೳੑͷ͋ΔHMPCBMม਺ʹɺ

    HMPCBMBDUPSͷΞϊςʔγϣϯΛ෇༩͢Δ͜ͱͰɺͦͷม਺͸ $PODVSSFODZNPEFMʹ૊Έࠐ·ΕɺHMPCBMBDUPSͷҰ෦ͱͯ͠TFSJBM FYFDVUFSͷதͰBTZODʹΞΫηε͞ΕΔΑ͏ʹͳΔͨΊɺσʔλڝ߹Λ๷ ͙͜ͱ͕Ͱ͖ΔΑ͏ʹͳΔ "DUPSΫϥεΛ࢖༻͢Δ৔߹ɺͦΕΛར༻͢ΔՕॴͰ͸$PODVSSFODZ NPEFMʹ૊Έࠐ·ΕΔ͜ͱʹͳΔͨΊɺσʔλڝ߹Λ๷͙͜ͱ͕Ͱ͖Δ ௥ه
  32. JUFSBUJPOͷΩϟϯηϧ DBODFM Λݺ͹ͣʹJUFSBUJPO͕ऴྃ͢Δ w OFYU ͕OJMΛฦͨ࣌͠ w OFYU ͕ΤϥʔΛUISPXͨ࣌͠ JUFSBUPSͷDBODFM

    ͕ಉظతʹݺ͹ΕΔ w CSFBL SFUVSO OFYU Ҏ֎ͰͷUISPX ΩϟϯηϧͷνΣοΫ͕ඞཁ ௥ه
  33. ͳͥඞཁ 4XJGUͱ0CKFDUJWF$ͷ౷߹ϧʔϧ ௥ه w 0CKFDUJWF$ͷDMBTTɺQSPUPDPMɺNFUIPE͸௚઀ 4XJGUͰར༻Ͱ͖Δ w 4XJGUͷDMBTT͸0CKFDUJWF$ͷDMBTTͷαϒΫϥεʹͰ ͖Δ w

    4XJGUͷDMBTT͸0CKFDUJWF$ͷQSPUPDPMʹద߹Ͱ͖Δ w 4XJGUͷDMBTTɺQSPUPDPMɺNFUIPE͸!PCKDଐੑΛ෇ ༩͢Δ͜ͱͰ0CKFDUJWF$Ͱར༻Ͱ͖Δ
  34. ্هʹΈͳ͞Εͨϝιουͷ಺ɺҎԼͷ৔߹ʹBTZOD΁ͱม׵͢Δ ௥ه w ϝιου໊͕8JUI$PNQMFUJPO 8JUI$PNQMFUJPO)BOEMFS  8JUI$PNQMFUJPO#MPDL 8JUI3FQMZ5P 8JUI3FQMZ 


    ˞ม׵࣌ʹ͜ΕΒ͸লུ͞ΕΔ ҉໧తʹԼهͷϧʔϧʹద߹ͨ͠৔߹ w ࠷ޙͷҾ਺໊͕ɺDPNQMFUJPO XJUI$PNQMFUJPO  XJUI$PNQMFUJPO)BOEMFS XJUI$PNQMFUJPO#MPDL XJUI3FQMZ5P  SFQMZ5P SFQMZ 
 ˞ม׵࣌ʹ͜ΕΒ͸ϝιου໊͕෇༩͞ΕΔ Ҿ਺͕DPNQMFUJPO)BOEMFSͷΈͷ৔߹Ͱ Ҿ਺͕ͭҎ্Ͱ࠷ޙͷҾ਺͕DPNQMFUJPO)BOEMFSͷ৔߹Ͱ
  35. ௥ه w DPNQMFUJPO)BOEMFS͸Ҿ਺͔Βআ֎͞ΕΔ w Τϥʔ͕ൃੜ͢Δ @/POOVMMͰ͸ͳ͍/4&SSPSؚ͕·Ε͍ͯͨ ৔߹ ͸ɺUISPXT͕෇༩͞ΕΔ w BTZODͷ໭Γ஋͸DPNQMFUJPO)BOEMFSͷҾ਺ͷํʹΑΔ

    
 /4&SSPS͸আ֎͞ΕΔ UISPXTʹͳΔ 
 @/VMMBCMF@SFTVMU͕͍͍ͭͯΔ΋ͷ͸0QUJPOBMʹͳΔ 
 ෳ਺Ҿ਺͕͋Δ৔߹͸5VQMFʹͳΔ w ϝιου໊ͷઌ಄͕HFUͰ࢝·͍ͬͯΔ৔߹ɺHFU͕আ֎͞ΕΔ w ϝιου໊ͷ຤ඌ͕"TZODISPOPVTMZͷ৔߹ɺআ֎͞ΕΔ w DPNQMFUJPO)BOEMFS͕/VMMBCMFͰBTZOD͕7PJEͰ͸ͳ͍৔߹ɺ !EJTDBSEBCMF3FTVMU͕෇༩͞ΕΔ BTZODGVODUJPO΁ͷม׵࣌ͷϧʔϧ
  36. ௥ه ௥Ճ͞ΕΔ0CKFDUJWF$ଐੑ @@BUUSJCVUF@@ TXJGU@BTZOD  w @@BUUSJCVUF@@ TXJGU@BTZOD OPOF 

    
 ม׵͠ͳ͍ 
 @@BUUSJCVUF@@ TXJGU@BTZOD OPU@TXJGU@QSJWBUF $  
 $ʹJOEFYΛࢦఆͯ͠ɺͦͷҾ਺ΛDPNQMFUJPO)BOEMFS ͱͯ͠BTZOD΁ม׵͢Δ JOEFY͸͔Β  w @@BUUSJCVUF@@ TXJGU@BTZOD TXJGU@QSJWBUF $  
 ্هͱಉ༷͕ͩQSJWBUFϝιουʹม׵͞ΕΔ
  37. ௥ه ௥Ճ͞ΕΔ0CKFDUJWF$ଐੑ w @@BUUSJCVUF@@ TXJGU@BUUS TXJGUBUUSJCVUF  
 TXJGUͷଐੑΛ෇༩ͯ͠ม׵͢Δ !6*"DUPSͳͲ

     w @@BUUSJCVUF@@ TXJGU@BTZOD@OBNF NFUIPE QBSBNQBSBN    
 ϝιουͱҾ਺ϥϕϧΛࢦఆͯ͠ม׵͢ΔɻDPNQMFUJPO)BOEMFS ͸Ҿ਺ϥϕϧʹؚΊͳ͍ 
 @@BUUSJCVUF@@ TXJGU@BTZOD OPU@TXJGU@QSJWBUF $  
 $ʹJOEFYΛࢦఆͯ͠ɺͦͷҾ਺ΛDPNQMFUJPO)BOEMFSͱͯ͠ BTZOD΁ม׵͢Δ JOEFY͸͔Β  w @@BUUSJCVUF@@ TXJGU@BTZOD TXJGU@QSJWBUF $  
 ্هͱಉ༷͕ͩQSJWBUFϝιουʹม׵͞ΕΔ
  38. ௥ه ௥Ճ͞ΕΔ0CKFDUJWF$ଐੑ @@BUUSJCVUF@@ TXJGU@BTZOD@FSSPS  w @@BUUSJCVUF@@ TXJGU@BTZOD@FSSPS OPOF 

    
 UISPXTʹ͠ͳ͍Ͱ/4&SSPSΛҾ਺ʹͦͷ··ར༻͢Δ w @@BUUSJCVUF@@ TXJGU@BTZOD@FSSPS [FSP@BSHVNFOU /  
 UISPXTͱͯ͠DPNQMFUJPO)BOEMFSͷ/൪໨ͷҾ਺ʹ੔਺஋ · ͨ͸GBMTF ͕౉͞ΕΔͱΤϥʔΛUISPX͢Δɻ/͸ελʔτɻ w @@BUUSJCVUF@@ TXJGU@BTZOD@FSSPS OPO[FSP@BSHVNFOU /  
 ্هͷٯͰ/൪໨ͷҾ਺ʹ੔਺஋ USVF ͕౉͞ΕΔͱΤϥʔΛ UISPX͢Δ