The problem of computer code: Leviathan or common power?

The problem of computer code: Leviathan
or common power?
$GULDQ0DFNHQ]LH
,QVWLWXWHIRU&XOWXUDO5HVHDUFK/DQFDVWHU8QLYHUVLW\
0DUFK
The problem of computer code: Leviathan or common power?
>,@WLVWKHVROXWLRQWKDWFRXQWVEXWWKHSUREOHPDOZD\VKDVWKHVROXWLRQLWGHVHUYHVLQ
WHUPVRIWKHZD\LQZKLFKLWLVVWDWHGLHWKHFRQGLWLRQVXQGHUZKLFKLWLV
GHWHUPLQHGDVDSUREOHPDQGRIWKHPHDQVDQGWHUPVDWRXUGLVSRVDOIRUVWDWLQJLW
'HOHX]H
,VFRGHLPSRUWDQW"2YHUWKHODVWGHFDGHVWXGLHVRIGLJLWDOFXOWXUHLQIRUPDWLRQFXOWXUH
LQIRUPDWLRQVRFLHW\DQGF\EHUFXOWXUHVKDYHIRFXVHGRQWKHFRQWHQWRIQHZPHGLDDQG
KRZQHZPHGLDDUHXVHG7KHVHVWXGLHVLGHQWLI\FKDQJHVLQWKHFRPPXQLWLHV
UHSUHVHQWDWLRQVLQWHUDFWLRQVLGHRORJLHVVXEMHFWLYLWLHVDQGHYHQFRUSRUHDOLWLHV
DVVRFLDWHGZLWKLQIRUPDWLRQDQGFRPPXQLFDWLRQ7KLVSDSHUVKLIWVIRFXVDQGDVNV
ZKHWKHUFRGHVRIWZDUHRUSURJUDPVLVLPSRUWDQW
Why code?
&RGHREMHFWVKDYHYHU\XQHYHQYLVLELOLW\DQGVLJQLILFDQFHZLWKLQFROOHFWLYHOLIH6RPH
FRGHREMHFWVDUHPXFKPRUHLPSRUWDQWDQGVLQJXODUWKDQRWKHUV0DQ\DUHORVWWRVLJKW
IRXQGHULQJLQEDQDOUDWLRQDOLVDWLRQVWULYLDODSSOLFDWLRQVDQGVHHPLQJO\SRLQWOHVV
IDQWDVLHVRILQIRUPDWLFRUGHU 6RPHIRUPFULWLFDOFRPSRQHQWVRINH\LQIUDVWUXFWXUHV
(OOHQ8OOPDQDSURJUDPPHUIURPWKH:HVW&RDVWRIWKH86$ZULWHVRIKHUDVWRQLVKPHQW
DWILQGLQJWKDWWKHHQWLUHWUDQVDFWLRQSURFHVVLQJV\VWHPRIDJOREDOFUHGLWFDUGSURYLGHU
UHOLHGRQVHYHUDOGR]HQOLQHVRIDQWLTXHDVVHPEOHUFRGHWKDWYHU\IHZSHRSOHFRXOG
XQGHUVWDQG8OOPDQ1HLWKHUWKHLQWULQVLFSURSHUWLHVRIFRGHDVDQREMHFW
0DQRYLFKQRUFRQWHVWVRYHULWVFRPPRGLW\YDOXHRUSURSHUW\VWDWXV/HVVLJ
0RRG\QRUWKHSDUWLFXODUNLQGVRIODERXULGHQWLW\RUVXEFXOWXUDOOLIH
DVVRFLDWHGZLWKLW
SURJUDPPHU
KDFNHU
NQRZOHGJHZRUNHU
&DVWHOOVJXDUDQWHH
WKHUHOHYDQFHRUSRWHQF\RIFRGH
*LYHQWKLVZK\DQDO\VHFRGHUDWKHUWKDQPRUHYLVLEOHDFFHVVLEOHGLUHFWO\LQWHUDFWLYH
DQGDIIHFWLYHIDFHWVRIFRQWHPSRUDU\FXOWXUHVXFKDVZHEVLWHVDFKDWURRPFRPSXWHU
JDPHVRUDGDWDEDVH"'HVSLWHWKHH[LVWHQFHRIP\ULDGERRNVRQKRZWRSURJUDPGHVSLWH
WKHHIIRUWVRIZKROHDFDGHPLFGLVFLSOLQHVGHYRWHGWRFRGHREMHFWVFRPSXWHUVFLHQFH
VRIWZDUHHQJLQHHULQJLQIRUPDWLRQV\VWHPVDQGLQWKHIDFHRIPLOOLRQVRISHRSOH
VFDWWHUHGWKURXJKRXW(XURSH$PHULFD$VLDDQG$IULFDZKRVWURQJO\LGHQWLI\
WKHPVHOYHVDVSURJUDPPHUVVRIWZDUHHQJLQHHUVKDFNHUVV\VWHPDQDO\VWVDQGVRIWZDUH
DUFKLWHFWVZHFDQQRWEHVXUHZKDWFRGHLVDQGZKDWLWGRHV7KHUHDUHVHYHUDOUHDVRQV
IRUWKLVXQFHUWDLQW\
8VXDOO\ZHXQGHUVWDQGFRGHDVDVHWRILQVWUXFWLRQVWKDWFRQWUROWKHRSHUDWLRQVRID
FRPSXWLQJPDFKLQH3RSXODUDQGDFDGHPLFDFFRXQWVFRQVLVWHQWO\UHLWHUDWHWKLV
XQGHUVWDQGLQJ,WUHGXFHVFRGHWRDSURJUDPIRUDPHFKDQLVP:HVKRXOGUHVLVWWKDW
UHGXFWLRQIRUDQXPEHURIUHDVRQV0DQ\GLIIHUHQWNLQGVRISUDFWLFHVLQWHUDFWLRQV
LQVWDELOLWLHVFRQWHVWVGLVSXWHVDQGHYHQWVSRSXODWHWKH]RQHEHWZHHQWKHZULWWHQ
LQVWUXFWLRQVDQGWKHRSHUDWLRQVRIFRPSXWLQJPDFKLQHV(YHQWKHVWDUWLQJDQGHQGSRLQWV
²WKHZULWWHQWH[WDQGWKHDFWXDORSHUDWLRQVRIFRPSXWLQJGHYLFHV²DUHIUR]HQLQSODFH
E\WKLVLGHDOLVHGXQGHUVWDQGLQJRIFRGHUDWKHUWKDQEHLQJVHHQDVWKHRXWFRPHRI
FRPSOH[LQWHUDFWLRQVLQYROYLQJFRPPRGLW\SURGXFWLRQRUJDQLVDWLRQDOOLIH
WHFKQRVFLHQWLILFNQRZOHGJHVDQGHQWHUSULVHVWKHRUJDQLVDWLRQRIZRUNPDQLIROG
LGHQWLWLHVDQGJHRSROLWLFDOWHFKQRORJLFDO]RQHVRIFRQWHVW&RGHDVZULWWHQWH[WHYHQLWV
PRVWIHWLVKL]HGIRUPDVSURSULHWDU\VRXUFHFRGHWKHFRGHWKDWSURJUDPPHUVDFWXDOO\
UHDGDQGZULWHZKLFK0LFURVRIWKDVUHFHQWO\DJUHHGWRVHOOIRUWKHILUVWWLPHWR
GHPRFUDWLFJRYHUQPHQWVLQWKHLQWHUHVWVRIDQWLWHUURULVWVHFXULW\/HWWLFH/RKU
UDUHO\VWDQGVVWLOORUPHDQVRQHWKLQJDVZHZLOOVHH
0RUHRYHUFRGHUXQVGHHSLQWKHLQFUHDVLQJO\LQIRUPDWLFDOO\UHJXODWHGLQIUDVWUXFWXUHV
DQGEXLOWHQYLURQPHQWVZHPRYHWKURXJKDQGLQKDELW&RGHSDUWLFLSDWHVKHDYLO\LQ
FRQWHPSRUDU\HFRQRPLFFXOWXUDOSROLWLFDOPLOLWDU\DQGJRYHUPHQWDOGRPDLQV,W
PRGXODWHVUHODWLRQVZLWKLQFROOHFWLYHOLIH,WRUJDQLVHVDQGGLVUXSWVUHODWLRQVRISRZHU,W
DOWHUVWKHFRQGLWLRQVRISHUFHSWLRQFRPPRGLILFDWLRQDQGUHSUHVHQWDWLRQ$V*HRIIUH\
%RZNHUDQG6XVDQ/HLJK6WDUZULWH
>L@WLVSROLWLFDOO\DQGHWKLFDOO\FUXFLDOWRUHFRJQL]H
WKHYLWDOUROHRILQIUDVWUXFWXUHLQWKH´EXLOWPRUDOHQYLURQPHQWµ6HHPLQJO\SXUHO\
WHFKQLFDOLVVXHVOLNHKRZWRQDPHWKLQJVDQGKRZWRVWRUHGDWDLQIDFWFRQVWLWXWHPXFK
RIZKDWZHKDYHFRPHWRNQRZDVQDWXUDO
%RZNHU6WDU&RGHKDVEHHQ
QDWXUDOLVHGWKURXJKLWVGLUHFWSDUWLFLSDWLRQLQWKHRUGLQDU\DQGODUJHO\LQYLVLEOH
LQIUDVWUXFWXUHVRIPRUDOSROLWLFDOJOREDOPLOLWDU\DHVWKHWLFDQGHQWHUWDLQPHQW
HQYLURQPHQWV,WSRWHQWLDWHVQHZIRUPVRIOLIHOLYHVZKLFKFDQQRWEHVHSDUDWHGIURP
WKHLUIRUPV$JDPEHQ
Code is a ’solution’, code is a problem
7KHVHWZRUHDVRQVWRDQDO\VHFRGH²WRUHVFXHLWIURPWKHLGHDRIDSURJUDPDQGWR
VKRZKRZFRGHLVLQYLVLEO\QDWXUDOLVHG²UDLVHPRUHTXHVWLRQVWKDQWKH\DQVZHU,Q
UHVSRQVHWRWKHVHTXHVWLRQV,ZLOODUJXHWKDWPRGHRIH[LVWHQFHRIFRGHLVSUREOHPDWLF
,QFRPPHUFLDOVRIWZDUHSURGXFWLRQFRGHLVRIWHQFDOOHGD
VROXWLRQ
6RIWZDUHSURGXFHUV
SURYLGHVROXWLRQV7RZKDWNLQGVRISUREOHPLVFRGHDVROXWLRQ"&DQZHDOVRVHHFRGHDV
DSUREOHPDVDPHDQVRIVWDWLQJFROOHFWLYHSUREOHPV"$SUREOHPLVVRPHWKLQJZKRVH
PRGHRIH[LVWHQFHLVWURXEOHVRPHFRQWHVWHGXQVWDEOHDQGVRPHZKDWFRQWUDGLFWRU\:H
VHHNVROXWLRQVWRSUREOHPVEXWVROXWLRQVDUHRIWHQSDUWLDORUSURYLVLRQDO0RUHRYHUD
VROXWLRQGHSHQGVDVWKHHSLJUDSKIURP*LOOHV'HOHX]HLQGLFDWHVRQKRZWKHSUREOHPLV
SRVHGRUVWDWHGDQGRQ
WKHFRQGLWLRQVXQGHUZKLFKLWLVGHWHUPLQHGDVDSUREOHP
'LIIHUHQWZD\VRIVWDWLQJDSUREOHPVXJJHVWGLIIHUHQWZD\VRIVROYLQJLW
,QWKHH[DPSOHWKDWIROORZVFRGHSUHVHQWVDWOHDVWIRXUSUREOHPDWLFIDFHWV7KH
H[DPSOHLVDVKRUWSLHFHRIFRPSXWHUFRGHFDOOHG
IRUNERPESO
WKDWZRQWKH
7UDQVPHGLDOH$UW3UL]H%HUOLQ:LWKLQFRQWHPSRUDU\JOREDOWHFKQRORJLFDOFXOWXUHV
ZKHUHPHGLDWLFLQIUDVWUXFWXUHDQGLQIRUPDWLRQSODWIRUPVSHUPHDWHGRPDLQVRIPHDQLQJ
DQGVLJQLILFDWLRQLQFRPSOH[PDQLIROGZD\V/DVKFRGHKDVVWDUWHGWREHFRPHDQ
DHVWKHWLFREMHFW7KH7UDQVPHGLDOHMXU\ZURWH
IRUNERPESOZDVDZDUGHG>WKHSUL]H@
DVDFUDIWHGFRGHZKLFKLVWUDQVIRUPHGLQWRDQDUWRIWHFKQLFDOWUDQVJUHVVLRQ
7UDQVPHGLDOH7KHZRUNLVQRWDQLVRODWHGH[DPSOHRIDUWLVWLFSUDFWLFH
&RPSXWHUDUWLVWVKDYHEHHQZRUNLQJZLWKFRPSXWHUFRGHVLQFHWKHV)RU
FRQWHPSRUDU\H[DPSOHVRIVRIWZDUHDUWVHH6RIWZDUH$UW5HSRVLWRU\
IRUNERPESOKRZHYHULVVWULNLQJEHFDXVHWKHFRGHLWVHOIDVZHOODVDQ\HIIHFWLWPLJKW
SURGXFHLQH[HFXWLRQLVNH\WRWKHZRUN$VDFRQWHPSRUDU\DUWREMHFWFRGHKHUH
EHFRPHVVRPHWKLQJWKDWRYHUIORZVRUGLQDU\ZRUNXVHRUH[FKDQJHYDOXHDQGH[SOLFLWO\
VHHNVWRSRVHLWVHOIDVDSUREOHPVRPHWKLQJWKDWILJXUHVDGLIIHUHQFHDFRQWUDGLFWLRQD
SRWHQWLDOIRULQYHQWLRQJHQHUDWLRQRUPHWDPRUSKRVLV
IRUNERPESOZDVZULWWHQE\%ULWLVKDUWLVW$OH[0F/HDQ7KHHQWLUHVRXUFHFRGHWKH
FRGHZULWWHQE\WKHSURJUDPPHUIRUIRUNERPESOLVOLVWHGEHORZ
GLH3OHDVHGRQRWUXQWKLVVFULSWZLWKRXWUHDGLQJWKHGRFXPHQWDWLRQ
LIQRW#$5*9
P\VWUHQJWK $5*9>@
ZKLOHQRWIRUN^
H[LWXQOHVVVWUHQJWK
SULQW
WZLVWZKLOHIRUN^
H[LWXQOHVVVWUHQJWK
SULQW
`
`
JRWR
WZLVW
LIVWUHQJWK
$ORQJZLWKVRPHWH[WFRPPHQWDU\DSSUR[LPDWHO\KDOIDVFUHHQWKLVPXQGDQHOLVWLQJ
LQDOOLWVUXOHJRYHUQHGUDWLRQDOLW\FRQVWLWXWHVDOPRVWWKHHQWLUHW\RIWKHZRUN :KLOH
QRWYHU\FRPSOH[E\FRQWUDVWZLWKWKHPLOOLRQVRIOLQHVFRPSULVLQJDW\SLFDOFRPPHUFLDO
RSHUDWLQJV\VWHPRUPDMRUVRIWZDUHLQVWDOODWLRQWKHVHOLQHVHFRQRPLFDOO\FRQGHQVH
VRPHFUXFLDOGLPHQVLRQVRIFRGHREMHFWV$FWXDOO\DQHYHQPRUHFRQFLVHH[SUHVVLRQRI
WKHFRUHRIWKHSURJUDPZRXOGEH
ZKLOHIRUN
$VXEVWDQWLDODPRXQWRIWDFLW
NQRZOHGJHFRQQHFWVWKHVHOLQHVRIFRGHWRYDULRXVRWKHUSUDFWLFHV
Two senses of code: text and process
:KDWNLQGRIREMHFWRUWKLQJLVIRUNERPESO",WUDLVHVWKHTXHVWLRQRIZKDWZHPHDQE\
FRGH7KHZRUG
FRGH
XVHGE\WKH-XU\ZKHQWKH\UHIHUUHGWRIRUNERPESORVFLOODWHV
EHWZHHQWZRGLIIHUHQWEXWFORVHO\SHUKDSVHYHQXQGHFLGDEO\UHODWHGVHQVHVWH[WDQG
SURFHVV7KLVXQGHFLGDEOHRVFLOODWLRQOLHVDWWKHURRWRIWKHSUREOHPDWLFPRGHRI
H[LVWHQFHRIFRGH
,QLWVILUVWVHQVHFRGHDVDWH[WLVWKHSURGXFWRIWKHSUDFWLFHRISURJUDPPLQJRUFRGLQJ
,WXVXDOO\WDNHVWKHIRUPRIDVHWRIWH[WILOHVFRQWDLQLQJVRXUFHFRGHRUVFULSWVXFKDV
WKRVHOLVWHGDERYH+HQFHWKH-XU\VSHDNVRI
FUDIWHG
FRGH&RGLQJSURJUDPPLQJRU
KDFNLQJSURGXFHVFRGH&RGHLQWKLVVHQVHLVDOZD\VZULWWHQLQVRPHSURJUDPPLQJ
ODQJXDJH²&3HUO-DYDDVVHPEO\ODQJXDJH/LVS&RERO%DVLFHWF7KHFRGHVKRZQ
DERYHLVZULWWHQLQWKHVFULSWLQJODQJXDJH3HUO7KHUHDGLQJDQGZULWLQJSUDFWLFHV
ZKLFKJHQHUDWHFRGHUDQJHIURPKLJKO\FUHDWLYHDQGH[SORUDWRU\WRPXQGDQHDQG
UHSHWLWLYH&RGHFUDIWZRUNRYHUWKHODVW\HDUVKDVDFFUXHGPDQ\VXEFXOWXUHV
ODQJXDJHVLGLRPVGLDOHFWVGHVLJQHQJLQHHULQJDQGDUFKLWHFWXUDODSSURDFKHV
,QWHUQHFLQHVWUXJJOHVDQGIDFWLRQDOGLVSXWHVFRQVWDQWO\VKLIWWKHPHDQLQJDQGYDOXHRI
FRGHZRUN6RPHWLPHVWKHVHVWUXJJOHVFRQFHUQFRGLQJ
VW\OH
DQGFUDIWDHVWKHWLF
MXGJHPHQWVRYHUKRZFRGHVKRXOGEHODLGRXWRQVFUHHQKRZYDULDEOHVVKRXOGEH
QDPHGHWF6RPHWLPHVWKHVWUXJJOHVKDYHZLGHULGHRORJLFDOGLPHQVLRQV3URJUDPPLQJ
ODQJXDJHVDUHSODWIRUPVIRUFRUSRUDWHPDUNHWLQJVWUDWHJLHV$WWUDFWLQJVRIWZDUH
GHYHORSHUVWRDSDUWLFXODUSURJUDPPLQJODQJXDJHRSHQVWKHSRVVLELOLW\RIVHOOLQJRWKHU
VRIWZDUHDQGKDUGZDUHGHVLJQHGWRZRUNZLWKWKDWODQJXDJH$VDNH\VPHDQVRI
SURGXFWLRQRIQHZFRGHREMHFWVSURJUDPPLQJODQJXDJHVDUHYLWDOVWUDWHJLFUHVRXUFHVWR
FRPSXWHUDQGRSHUDWLQJV\VWHPSURGXFHUVVXFKDV0LFURVRIW,%0$SSOHDQG6XQ
0LFURVRIW
V&ODQJXDJHUHOHDVHGLQFRPSHWHVZLWK6XQ&RUSRUDWLRQ
VKLJKO\
VXFFHVVIXODQGZLGHVSUHDG-DYDODQJXDJH%RWKODQJXDJHVDUHOLQNHGWRWKHVDOHRIRWKHU
VHUYLFHVXSJUDGHVPDLQWDLQDQFHDQGKDUGZDUH7KHUHODWLYHHFRQRPLFYDOXHDQG
JHRJUDSKLFDOGLVWULEXWLRQRIFRGLQJZRUNVKLIWVFRQVWDQWO\DVVRIWZDUHSURGXFWLRQLV
DXWRPDWHGLQGXVWULDOLVHGVKLIWHGWRFKHDSHUODERXUPDUNHWVHJRXWVRXUFLQJRI
SURJUDPPLQJZRUNWR,QGLDRUEHFRPHV
IUHH
LQWKHIRUPRIRSHQVRXUFHVRIWZDUH
0XFKURXWLQHFRGLQJKDVEHHQSDUWLDOO\DXWRPDWHGIRULQVWDQFHQHZHUZHEDXWKRULQJ
WRROVREYLDWHPXFKRIWKHQHHGIRUKDQGFRGLQJZHESDJHV&RGHDVDWH[WSURGXFLQJ
SUDFWLFHLVYDULDEOHDQGG\QDPLF
,QLWVVHFRQGVHQVHFRGHPHDQVVRPHWKLQJH[HFXWDEOHGHSHQGLQJRQEXJVDQGRWKHU
XQSUHGLFWDEOHIDFWRUVZLWKLQDFRPSXWLQJHQYLURQPHQWRURQVRPHFRPSXWLQJ
SODWIRUPV7KHSXUSRVHRIFRGHDIWHUDOOLVWRZRUNRURSHUDWH'XULQJH[HFXWLRQD
FRGHREMHFWEHFRPHVDSURFHVV7KHHQYLURQPHQWVLQZKLFKDSURFHVVH[HFXWHVDUH
GLYHUVH&RGHREMHFWVPLJKWEHVRPHWKLQJWKDWDSHUVRQGRXEOHFOLFNVRQDQGUXQVWKH\
PLJKWEHUXQQLQJLQDQHOHFWURQLFWR\RUDSSOLDQFHRUWKH\PLJKWEHDXWRPDWLFDOO\
GRZQORDGHGDQGH[HFXWHGE\DGHYLFHVXFKDVDPRELOHSKRQH,WLVVRPHWKLQJWKDWD
SDUWLFXODUKDUGZDUHSODWIRUP,QWHO$0'0RWRURODD3OD\6WDWLRQRU;ER[HWFDQ
RSHUDWLQJV\VWHP:LQGRZV0DF268QL[3DOP26/LQX[HWFRUSHUKDSVDYLUWXDO
PDFKLQHVXFKDVWKH-DYD9LUWXDO0DFKLQHFDQUXQ&RGHLQWKLVVHQVHVRPHWKLQJ
SURGXFHGE\WKHSUDFWLFHVRIFRGLQJEHFRPHVVRIWZDUH'HWDFKHGIURPWKHZRUNRI
FRGLQJLWFDQEHSDFNDJHGVKULQNZUDSSHGDQGFLUFXODWHG,QWKHFDVHRIIRUNERPESO
DSLHFHRIVXSSRUWLQJVRIWZDUHWKH3HUOLQWHUSUHWHUWUDQVODWHVWKHFRGHLQWRFDOOVRQ
ORZHUOHYHORSHUDWLQJV\VWHPIXQFWLRQV3HUOSURYLGHVDPLGGOHOD\HUEHWZHHQWKH
RSHUDWLQJV\VWHPDQGHQGXVHUDSSOLFDWLRQV
/LNHWKHSUDFWLFHVRIUHDGLQJDQGZULWLQJFRGHFRGHDVSURFHVVLVQRWDVLPSOH
KRPRJHQHRXVRUXQGLIIHUHQWLDWHG2QWKHFRQWUDU\WKHHQYLURQPHQWLQZKLFKFRGH
H[HFXWHVWKHSODWIRUPLVDFRQWHVWHGVLWHD
OLIWHGRXWVSDFH
/DVK7KHUH
DUHWKHZHOONQRZQFRPPHUFLDOVWUXJJOHVEHWZHHQSODWIRUPVVXFKDV$SSOHYHUVXV
0LFURVRIWZKLFKIHHGWKHHPHUJHQFHRIGLIIHUHQWVXEFXOWXUHVRIFRPSXWHUXVHUV7KHUH
DUHDOVRVWUXJJOHVWKDWFRQFHUQWKHFRPPRGLW\VWDWXVRIDJLYHQSODWIRUP7KH
RSHQ
VRXUFH
RSHUDWLQJV\VWHP/LQX[IRUH[DPSOHFDQEHVHHQDVVSULQJLQJIURPDGHVLUHWR
H[WUDFWWKHJHQHULF[,QWHOIDPLO\RI&38
VPDQXIDFWXUHGE\,QWHODQGRWKHUFRPSDQLHV
VXFKDV$0'IURPWKHWHUULWRULDOGRPLQDQFHRI0LFURVRIW&RUSRUDWLRQ%\UXQQLQJD
GLIIHUHQWRSHUDWLQJV\VWHPIURPWKH0LFURVRIWRSHUDWLQJV\VWHPVWKDWXVXDOO\UXQRQVXFK
FRPPRGLW\KDUGZDUHWKH/LQX[VXEFXOWXUHDOWHUVWKHKHJHPRQLFVWDWXVRIWKHRSHUDWLQJ
V\VWHPLQFHUWDLQZD\V7KHOLQNEHWZHHQDSDUWLFXODURSHUDWLQJV\VWHPDQGD
FRPPRGLW\KDUGZDUHSODWIRUPEHFRPHVPRUHWHQXRXVDQGRSHQWRYDULDWLRQ
Code integrates and disintegrates
:HKDYHDOUHDG\VHHQWKHFRGHRIIRUNERPESODVDZULWWHQWH[W:KDWKDSSHQVZKHQ
ZHVHHIRUNERPESODVDSURFHVV":KHQWKH7UDQVPHGLDMXU\UHIHUVWRIRUNERPESODV
WUDQVJUHVVLYH
WKLVRWKHUVHQVHRIFRGHDVH[HFXWLQJSURFHVVLVLQSOD\$VDSURFHVV
IRUNERPESOLQWHUIHUHVZLWKRWKHUSURFHVVHVLQH[HFXWLRQ$
XVHU
UXQV
WKHZRUNE\
W\SLQJ
SHUOIRUNERPESO
DQGVRPHWKLQJOLNHWKHIROORZLQJRXWSXWDSSHDUV
-XGJLQJE\WKLVPRGHVWRXWSXWWKHSHUFHSWXDOGLPHQVLRQVRIWKHZRUNDQGWKHDHVWKHWLF
VHQVDWLRQVLWLPPHGLDWHO\HOLFLWVDUHPLQLPDOWRVD\WKHOHDVW:HDUHQRWVSHFWDWRUVRI
DFRQYHQWLRQDODHVWKHWLFREMHFWKHUH,WKDUGO\UDWHVDJDLQVWWKHLFRQLFGHQVLW\FRORXU
DQGFDUHIXOO\GHVLJQHGOD\RXWRIWKHDYHUDJHFRPSXWHULQWHUIDFHRUWKHVSHFWXODUYLVXDO
GHWDLOVHHQLQWKHODWHVWJHQHUDWLRQRIFRQVROHFRPSXWHUJDPHV(YHQZLWKLQWKHUHDOP
RIVRIWZDUHDUWRWKHUZRUNVKDYHPRUHH[SOLFLWSROLWLFDODQGFXOWXUDOVLJQLILFDQFH)RU
LQVWDQFHWKHZHOONQRZQVRIWZDUHDUWZRUN&DUQLYRUH3(&DUQLYRUH3(DOORZVWKH
PRYHPHQWRIGDWDRQQHWZRUNVWREHWUDFNHGDQGYLVXDOLVHG,WPLPLFVVRIWZDUHXVHGE\
WKH)%,WRFRQGXFWHOHFWURQLFZLUHWDSVWKHUHE\PDNLQJWKHRSHUDWLRQVRIWKH86
JRYHUQPHQWYLVLEOHDQGSHUKDSVPRUHFRQWHVWDEOH,QWKHFDVHRIIRUNERPESOWKH
H[HFXWLQJSURFHVVKDVQRFOHDUSROLWLFDORUDHVWKHWLFVLJQLILFDQFH7KHRXWSXWVKRZVWKDW
DQH[HFXWLQJSURFHVVJHQHUDWHVRUGHUHGVHWVRIPDUNV+HUHWKHVHWLVFRPSRVHGVLPSO\
RIWKHILJXUHVDQG-XVWDVFRGLQJLQYROYHVHGLWLQJWH[WDFFRUGLQJWRUXOHVH[SUHVVHG
V\QWDFWLFDOO\E\DSURJUDPPLQJODQJXDJHWKHZRUNGRQHE\H[HFXWLQJFRGHLVPXQGDQH
QRWP\VWHULRXVLWJHQHUDWHVVHTXHQFHVRIPDUNVRYHUWLPH
+RZHYHUMXVWDVWKHPXQGDQHFRGLQJZRUNLVDQLPDWHGE\PDQ\RWKHUG\QDPLFVWKH
VLJQLILFDQFHRIDVHTXHQFHRIPDUNVGHSHQGVRQKRZWKHVHPDUNVDUHFRQQHFWHGWRRWKHU
FRQWH[WV7KHDUWLVW$OH[0F/HDQVXJJHVWVWKDWWKHZRUNEHVHHQDVSURGXFLQJD
ZDWHUPDUN
RIWKHIXQFWLRQDOFRXSOLQJRIDQRSHUDWLQJV\VWHPDQGKDUGZDUHSODWIRUP
(YHU\RSHUDWLQJV\VWHPDQGSODWIRUPZLOOSURGXFHDGLIIHUHQWRXWSXW(YHQWKHVDPH
FRPSXWHUZLOOSURGXFHGLIIHUHQWRXWSXWVGHSHQGLQJRQZKDWRWKHUSURFHVVHVDUHUXQQLQJ
DWWKDWWLPH&R[0F/HDQ:DUG5XQQLQJLWDIHZWLPHVEHDUVWKLVRXWEXWLW
ZRXOGQHHGDQH[WHQGHGGHVFULSWLRQRIKRZIRUNERPESOZRUNVWRVKRZZK\WKLVLVWKLV
FDVH
,QYLHZRIWKHVRXUFHFRGHRIIRUNERPESODQGLWVRXWSXWRIVDQGVFRGHVKRZVLWVHOI
XQGHUWZRIDFHWVRQHRULHQWHGWRZDUGVWKHSUDFWLFHVRISURGXFHUVVXFKDVDUWLVWV
SURJUDPPHUVDQGKDFNHUVUHDGLQJZULWLQJSURJUDPVDQGDQRWKHUIDFLQJWRZDUGVWKH
HQYLURQPHQWDOSDUWLFXODULWLHVRIPDFKLQHVQHWZRUNVDQGRSHUDWLQJV\VWHPVZKLFK
FRQWDLQH[HFXWLQJSURFHVVHVDQGXVHUV&RGHLVERWKZULWWHQDQGUHDGE\SHRSOHDQG
H[HFXWHGZLWKLQDFRPSXWLQJHQYLURQPHQWE\XVHUV&RGHKDVDFRPSOH[RUIRUNHGPRGH
RIH[LVWHQFH,WH[LVWVERWKDVKLJKO\UXOHJRYHUQHGSUDFWLFHVRIZULWWHQH[SUHVVLRQZLWK
SDUWLFXODUWUDLWVWKDWZHFRXOGORRNDWPRUHFORVHO\IRULQVWDQFHWKLVFRGHLVZULWWHQLQ
3HUOUDWKHUWKDQ-DYDZKDWGLIIHUHQFHGRHVWKDWPDNH"DQGDVVRPHWKLQJ
SUHKHQGHG
RUDUWLFXODWHGZLWKLQWKHVSHFLILFLW\RIDQHQYLURQPHQWWKDWFRPSXWHVDFRPSXWLQJ
HQYLURQPHQWRUSODWIRUPZLWKLQZKLFKWKHFRGHH[HFXWHVIRUNERPESODGGUHVVHVWKH
SUREOHPRIUHODWLQJGLIIHUHQWWLPHVDQGSODFHVWKDWRIUHDGLQJZULWLQJDQGWKDWRI
H[HFXWLQJ
IRUNERPESOFDQGRPRUHWKDQ
ZDWHUPDUN
DQRSHUDWLQJV\VWHP7RIRUNLQ8QL[
RSHUDWLQJV\VWHPWHUPLQRORJ\PHDQVWRVWDUWDQHZSURFHVVDORQJVLGHH[LVWLQJSURFHVVHV
7KHV\VWHPFDOOIRUNFUHDWHVWZRQHDUO\LGHQWLFDOFRSLHVRIDSURFHVV2QHFRS\LV
FDOOHGWKHSDUHQWDQGWKHRWKHUWKHFKLOG,QWKHSDUHQWSURFHVVIRUNUHWXUQVWKH
SURFHVVQXPEHURIWKHFKLOG7KHYDOXHUHWXUQHGLQWKHFKLOGLV]HUR,IIRUNFDQQRW
FUHDWHDQHZSURFHVVWKHDLVUHWXUQHG7KLVFDQKDSSHQIRUH[DPSOHZKHQWKH
V\VWHPSURFHVVWDEOHLVIXOORULIWKHIRUNFDOOLVLQWHUUUXSWHG%RXUQH
$IRUNERPERFFXUVZKHQDQRSHUDWLQJV\VWHPDWWHPSWVWRIRUNWRRRIWHQ$V7KH1HZ
+DFNHU
V'LFWLRQDU\ZULWHV
DIRUNERPESURFHVV´H[SORGHVµE\UHFXUVLYHO\VSDZQLQJ
FRSLHVRILWVHOI(YHQWXDOO\LWZHGJHVWKHV\VWHP
5D\PRQG7KHZRUN
WDNHVLWVQDPHIURPZKDWKDSSHQVLIDXVHUW\SHVVRPHWKLQJOLNH
SHUOIRUNERPESO
'HSHQGLQJRQWKHSODWIRUPLQFUHDVLQJWKHQXPHULFDOYDOXHDWWKHHQGRIWKHFRPPDQG
OLQHIURPWRZLOOSUREDEO\SURJUHVVLYHO\EULQJDFRPSXWHUWRDKXQJRU
ERPEHG
VWDWHZKHUHLWSURGXFHVQRIXUWKHUSHUFHSWLEOHRXWSXWIRUNERPESO
ERPEV
DFRPSXWHU
E\FRORQLVLQJWKHRSHUDWLQJV\VWHPZLWKDQH[SRQHQWLDOO\JURZLQJQXPEHURIFORQHVRI
WKHIRUNERPESOSURFHVVHDFKUHFXUVLYHO\JHQHUDWLQJFRSLHVRILWVHOIDVGRYLUXVHVVXFK
DV/RYH%XJ
7KHGLIIHUHQWSRVVLEOHRXWSXWVIURPIRUNERPESO²ZDWHUPDUNRIWKHRSHUDWLQJV\VWHPRU
DIUR]HQ
ZHGJHG
V\VWHPLQZKLFKQRWKLQJDSSHDUVWREHKDSSHQLQJVXJJHVWWZR
GLIIHUHQWFULWLFDOHYDOXDWLRQVRIFRGH7KHZDWHUPDUNRXWFRPHUHIOHFWVRUGHUFR
RUGLQDWLRQVKDULQJRIUHVRXUFHVGLVWULEXWLRQDQGGLYLVLRQRIODERXU7KH
ZHGJHG
RXWFRPHVXJJHVWVGLVLQWHJUDWLQJVFDWWHULQJGLVSHUVDODQGGLVDJJUHJDWLQJORVVRIZRUNLQJ
IXQFWLRQDOLW\:LWKWKLVRXWFRPHLQPLQGQHZVJURXSDQGOLVWVHUYHUUHVSRQVHVDPRQJVW
3HUOSURJUDPPHUVWRIRUNERPESO
VSUL]HWHQGHGWREHZUDWKIXO)RULQVWDQFHRQHLUNHG
UHVSRQVHUDQ
'RKDFNDWWDFNVQRZFRXQWDVDUW"9LUXVHV":RXOGQ
WDQREIXVFDWHGSURJUDPWR
FRPSOHWHO\HUDVHWKHGLVNRIWKHVXEMHFWV\VWHPEHHYHQPRUHFUDIWHGDQGDQHYHQ
JUHDWHUWHFKQLFDOWUDQVJUHVVLRQDQGWKHUHIRUHHYHQEHWWHUDUW":LOOEHVHHLQJ>LW
DV@DUWDGHIHQVHLQFRPSXWHUFULPHWULDOVQRZ"
3HUPXQJNDK
$VWKH+DFNHU
V'LFWLRQDU\JRHVRQWRVXJJHVW
FUHDWLQJ>DIRUNERPE@VHOGRP
DFFRPSOLVKHVPRUHWKDQWREULQJWKHMXVWZUDWKRIWKHJRGVGRZQXSRQWKHSHUSHWUDWRU
5D\PRQG
Code evades visibility
7KHMXVWZUDWKRIWKHJRGVFDQWDNHRQDPRUHIXQGDPHQWDOLVWWRQH,QDQDUWLFOH
HQWLWOHG
7KHUHLV1R6RIWZDUH
WKHOLWHUDU\QHZPHGLDWKHRULVW)ULHGULFK.LWWOHU
FKDUDFWHULVHVWKHFXOWXUDOSUREOHPRIFRGHLQWHUPVWKDWJREH\RQGLUNHGUHVSRQVHVWR
WUDQVJUHVVLYHDUWZRUNVVXFKDVIRUNERPESO
3URJUDPPLQJODQJXDJHVKDYHHURGHGWKHPRQRSRO\RIRUGLQDU\ODQJXDJHDQGJURZQ
LQWRDQHZKLHUDUFK\RIWKHLURZQ7KLVSRVWPRGHUQ7RZHURI%DEHOUHDFKHVIURP
VLPSOHRSHUDWLRQFRGHVZKRVHOLQJXLVWLFH[WHQVLRQLVVWLOODKDUGZDUHFRQILJXUDWLRQ
SDVVLQJWKURXJKDQDVVHPEOHUZKRVHH[WHQVLRQLVWKLVYHU\RSFRGHXSWRKLJKOHYHO
SURJUDPPLQJODQJXDJHVZKRVHH[WHQVLRQLVWKDWYHU\DVVHPEOHU:KDWUHPDLQVD
SUREOHPLVRQO\UHFRJQL]LQJWKHVHOD\HUVZKLFKOLNHPRGHUQPHGLDWHFKQRORJLHVLQ
JHQHUDOKDYHEHHQH[SOLFLWO\FRQWULYHGWRHYDGHSHUFHSWLRQ:HVLPSO\GRQRWNQRZ
ZKDWRXUZULWLQJGRHV.LWWOHU
,QWKLVSDVVDJHWKHSUREOHPRIFRGHKLQJHVRQWKHZD\LWHYDGHVSHUFHSWLRQ$VKDSSHQV
ZKHQIRUNERPESOUXQVDWWKHWUDQJUHVVLYHVWUHQJWKRI
ZHGRVLPSO\GRQRWNQRZ
ZKDWZKDWRXUZULWLQJGRHV
7KHJHQHUDOSUREOHPRIFRGHLVWKDW
LWVHHPVWRKLGHWKH
YHU\DFWRIZULWLQJ
.LWWOHU)XUWKHUPRUHWKHLQVFULSWLRQVWKDWUHVXOWIURP
WKLVZULWLQJ
DUHDEOHWRUHDGDQGZULWHE\WKHPVHOYHV
$WWKHVDPHWLPH
KDUGZDUHFRQWUDFWVGRZQLQWRHYHUPRUHGHQVHO\LQWHUFRQQHFWHGFLUFXLWVLQWKH
FRPSXWHUKDUGZDUHLQQRYDWLRQUDFH$VLQVFULSWLRQVKULQNGRZQLQWRFKLSVFRGHLWVHOI
SLOHVXSLQWRDSRVWPRGHUQ7RZHURI%DEHORULQWRDFDFRSKRQ\RIGLIIHUHQWFRGLQJ
ODQJXDJHVVRPHWLPHVKLHUDUFKLFDOO\UHODWHGVRPHWLPHVQRW
0RYLQJXSZDUGVDQGGRZQZDUGVLQZDUGVDQGRXWZDUGVFRGHDSSHDUVWRZULWHLWVHOI$V
DQHIIHFWRIWKHVFDOHDQGFRPSOLFDWLRQRIOD\HUVFRGHHYDGHVFRJQLWLRQE\DQ\RQH
REVHUYHU,QFRQWUDVWWRSULQWHGWH[WVFRGHZULWHVLWVHOIKHUPHWLFDOO\.LWWOHU
VUHVSRQVH
LVUDGLFDODQGLQVRPHZD\VKDUGWRFRQWHVWWKHFRQVWLWXWLYHOLPLWIRUFRGHRQHWKDWLW
ZLOOLQHYLWDEO\HQFRXQWHULV
VKHHUKDUGZDUH
RUQRQSURJUDPPDEOHV\VWHPVZKRVH
FRPSOH[LW\
PD\ZHOOEHWKHRQO\ZD\WRHQWHUWKDWERG\RIUHDOQXPEHUVRULJLQDOO\
NQRZQDVFKDRV
.LWWOHU1RQSURJUDPPDEOHV\VWHPVDUHLQGHHGWKHREMHFWRI
RQJRLQJWHFKQRVFLHQWLILFVSHFXODWLRQ,QSRSXODUVFLHQWLILFDQGWHFKQRORJ\PDJD]LQHV
VXFKDV1HZ6FLHQWLVWRU7HFKQRORJ\5HYLHZTXDQWXPRU'1$FRPSXWLQJV\VWHPVRI
H[FHSWLRQDOEXWDOPRVWXQFRQWUROODEOHFRPSXWLQJSRZHUIUHTXHQWO\FRPHXSIRU
GLVFXVVLRQ
.LWWOHU
VUHVSRQVHSRLQWVWRDWKLUGIDFHWRIWKHSUREOHPDWLFPRGHRIH[LVWHQFHRIFRGH
&RGHHYDGHVSHUFHSWLRQ$VLWFRYHUVRYHUWKHQRQSURJUDPPDEOHFRPSOH[LW\RIWKHUHDO
RU
FKDRV
E\VHHNLQJWRQDPHDQGRUGHULWLWJHQHUDWHVRSDFLW\DQGXQLQWHOOLJLEOH
FRPSOH[LW\DVE\SURGXFWV7KHVSDZQLQJPXWDWLQJDQGFORQLQJRIGLIIHUHQWLGLRPVRI
FRGHDQGLQGHHGRIGLIIHUHQWYHUVLRQVRIVLPLODUVRIWZDUHDSSOLFDWLRQVRU
VROXWLRQV
JHQHUDWHVFRGHEDEEOH7KHUHDUHPDQ\EDQDORURUGLQDU\PDQLIHVWDWLRQVRIWKLV
GLVLQWHJUDWLRQ7KHQHHGWRFRQVWDQWO\XSJUDGHVRIWZDUHWRIL[EXJVDQGHQVXUH
FRPSDWDELOLW\WKHVWUXJJOHVRYHUVWDQGDUGLVDWLRQRIGLIIHUHQWSURWRFROVDQG
SUROLIHUDWLRQRIFORQHVDQGYDULDQWVRIWKHVDPHDSSOLFDWLRQRUVROXWLRQDOODWWHVWWRWKLV
FRGHEDEEOHDQGWRDPXOWLSOLFDWLRQRIWRQJXHVVRWRVSHDN
Where is the object? Where is the subject?
&RPSDUH.LWWOHU
VWUHDWPHQWRIFRGHDVZULWLQJWKDWDWWHPSWVWRLQWHOOLJEO\RUGHUWKH
LUUHGXFLEOHFRQWLQJHQFLHVRIPDWWHUDQGHQGVXSUHQGHULQJRUGHUDOPRVWXQLQWHOOLJLEOH
ZLWKWKHVWDQGSRLQWRI%UXQR/DWRXU:ULWLQJDERXWWKHFRPSOH[LW\RIFRQWHPSRUDU\
WHFKQLFDOREMHFWV/DWRXUREVHUYHV
7KHSDUDGR[RIDWHFKQRORJLFDOREMHFWZLWKPLOOLRQVRILQVWUXFWLRQVLVWKDWLWLVIURP
WKHVWDQGSRLQWRIWKHGLYLVLRQRIODERXUDIUDFWDOREMHFWWKDWLVHTXDOO\VLPSOHDW
HYHU\SRLQWDQGZKROHORRNVQHYHUWKHOHVVOLNHD/HYLDWKDQWKDWLQILQLWHO\VXUSDVVHV
KXPDQPHDVXUH/DWRXU
7KH
/HYLDWKDQ
RIFRGH
KDVDIILQLWLHVWR.LWWOHU
V
ZHGRQRWZULWHDQ\PRUH
.LWWOHU
/HYLDWKDQVRIWHQVHHPWREHPRQWURXVDQGRXWRIFRQWURO%XW/DWRXUZULWHV
>W@KHHQWLUHWHFKQRORJLFDOZL]DUGU\OLHVLQWKHLPSHQHWUDEOHSDUWLWLRQVDQGLQWKHSHJV
WKDWPDNHLWSRVVLEOHWRKRRNRQH·VWDVNWRDQHLJKERXU·V
+HUHWKHHIIHFWVRI
%DEHOLVDWLRQGHVFULEHGE\.LWWOHUDUHHYDOXDWHGGLIIHUHQWO\DVRFLDORUJDQLVDWLRQRI
ERXQGDULHVGHWRXUVRIIROGVDQGRUGHULQJVSHUPLWV
DSLOLQJXSRI5XVVLDQGROOV
/LNH.LWWOHU
VDFFRXQWDSURFHVVRISLOLQJXSRUOD\HULQJRIFRGHDFFRXQWVIRUWKH
DSSDUHQWGLVDSSHDUDQFHRIVSLULWLQWRPDWWHU,QFRQWUDVWWR.LWWOHUQRLUUHGXFLEOH
QRQSURJUDPPDEOHGRPDLQXQGHUZULWHVDTXDVLWUDQVFHQGHQWDOMXGJPHQWRIZKDWFRGH
FDQRUFDQQRWGR,QVWHDGRIFRYHULQJRYHULUUHGXFLEOHFRPSOH[LW\WKHFRGHREMHFWLV
HTXDOO\VLPSOHDWHYHU\SRLQW
/DWRXUZULWHV
:HWKRXJKWWKHUHZDVDIURQWLHUEH\RQGZKLFKRQHUHDOO\PRYHGLQWRPDWWHUWKDW
LQHUWDQGFROGVWXIIIXQFWLRQDODQGVRXOOHVVZKLFKHDUQHGWKHDGPLUDWLRQRI
PDWHULDOLVWVDQGWKHVFRUQRIWKHKXPDQLVWV/DWRXU
,QIDFWDFFRUGLQJWR/DWRXURQHQHYHUHQFRXQWHUVDEDUULHUEHWZHHQVLJQDQGWKLQJ
VLQFHDWHYHU\OHYHOWKHUHDUHIXUWKHUIRUPV
KDOILPSULQWDQGKDOIWH[W
,WLVVWULNLQJDQGWKLVSRLQWVWRDIRXUWKSUREOHPDWLFHOHPHQWLQFRGHWKDWWKH
/HYLDWKDQVHHPVWRVXUSDVV
KXPDQPHDVXUH
/DWRXU
VDFFRXQWVHHVFRGHDVFRQFHDOHG
VRFLDORUGHUDQGDVWKHRXWFRPHRIFRRUGLQDWHGSDUWLWLRQLQJRIEHKDYLRXUVDQGDFWLRQV
EHWZHHQGLIIHUHQWDFWRUVKXPDQDQGQRQKXPDQ+LVDFFRXQWDOORZVXVWRLQWHUSUHW
IRUNERPESODVDPLQL/HYLDWKDQDVDQH[SUHVVLRQRIFRRUGLQDWLRQDQGUHFLSURFDO
LQWHUDFWLRQEHWZHHQDPXOWLWXGHRIDJHQWVZLWKLQFRQWHPSRUDU\FROOHFWLYHV,Q/DWRXU
V
WHUPVWKHIDFWWKDWIRUNERPESOUXQVDWDOODWWHVWVWRDSLOLQJXSRI5XVVLDQGROOVD
ODEU\QWKLQHIROGLQJWRJHWKHURIGLIIHUHQWDFWLRQVWRZKLFKQRXOWLPDWHOLPLWLV
SUHVFULEHG/DWRXU
VXVHRIWKHWHUP
IUDFWDO
FRQYH\VWKDWVHQVHRIQHVWHGRUUHFXUVLYH
RUGHU,QWKLVFDVHWKHRUGHULQJSHUWDLQVWRFRPSXWLQJUHVRXUFHVIRUNERPESOKLJKOLJKWV
WKHILQLWHDOORFDWLRQRIFRPSXWLQJUHVRXUFHVDYDLODEOHRQDQ\FRPSXWHU7KHDOORFDWLRQ
RIFRPSXWLQJUHVRXUFHVZLWKLQFRPSXWLQJHQYLURQPHQWVXQGHUSLQVWKHHIIHFWVRI
LQWHUDFWLYLW\UHVSRQVLYHQHVVQDYLJDELOLW\UHWULHYDELOLW\DQGVWRUDELOLW\RQZKLFK
LQIRUPDWLFIRUPVRIOLIHGHSHQG7KHLPPRELOLVDWLRQSURGXFHGE\IRUNERPESORQO\
VLJQDOVWKDWWKHRUGHULQJSURFHVVKDVQRWEHHQFDUULHGVXIILFLHQWO\IDUHQRXJKWRFUHDWH
WKHHIIHFWRIDWUXH/HYLDWKDQDPRQVWHURI
LQILQLWHPHDVXUH
$QRWKHUVHWRIGHWRXUV
WUDQVODWLRQVPHGLDWLRQVRUK\EULGLVDWLRQVLVQHHGHG7KH\FRXOGEHVRFLDODV\VWHP
DGPLQLVWUDWRUPLJKWVHWDOLPLWWRWKHQXPEHURISURFHVVHVWKDWFDQEH
VSDZQHG
E\DQ\
VLQJOHSURJUDP²RUWKH\EHWHFKQLFDO²DQRSHUDWLQJV\VWHPPLJKWVWDUWGLVWULEXWLQJWKH
UHFXUVLYHO\JHQHUDWHGSURFHVVHVRQWRRWKHUPDFKLQHVIRUPLQJSDUWRIDFRPSXWLQJ
FOXVWHURUD
VHUYHUIDUP
Theorematic code
7KURXJKIRUNERPESOWKHSUREOHPDWLFPRGHRIH[LVWHQFHRIFRGHDSSHDUVLQDQXPEHU
RIGLIIHUHQWJXLVHV&RGHRVFLOODWHVEHWZHHQWH[WDQGSURFHVV,WLQWHJUDWHVDQG
GLVLQWHJUDWHVFRQWH[WV,QDWWHPSWLQJWRELQGFRQWH[WVWRJHWKHUZLWKLQDFRPPRQ
ODQJXDJHLWUHGLVWULEXWHVDQGGLYLGHVWDVNVLQZD\VWKDWRYHUIORZDQ\RQHVWDQGSRLQW
DQGHYDGHSHUFHSWLRQ)LQDOO\FRGHFDQFRQVWLWXWHDFRPSUHVVHG/HYLDWKDQDFROOHFWLYH
ZKHUHERGLHVDFWLRQVUXOHVDQGSRZHUDUHRUFKHVWUDWHG,WFDQJLYHWKHDSSHDURIDQ
DOPRVWH[HFXWLYHSRZHU\HWLQUHDOLW\LWUHOLHVRQDILQLWLHDOORFDWLRQRIUHVRXUFHV
7KHH[DPSOHRIIRUNERPESOLVDULVN\RQHLQFHUWDLQUHVSHFWV:KHQFRGHEHFRPHVDQ
DHVWKHWLFREMHFWKRZFDQZHMXGJHLWVLPSRUWDQFH"7KHSKLORVRSKHU$1:KLWHKHDG
ZULWHV
2QHFKDUDFWHUL]DWLRQRILPSRUWDQFHLVWKDWLWLVWKDWDVSHFWRIIHHOLQJZKHUHE\D
SHUVSHFWLYHLVLPSRVHGXSRQWKHXQLYHUVHRIWKLQJVIHOW:KLWHKHDG
,QWUHDWLQJWKHH[HFXWLRQRIIRUNERPESODVDQDXWRQRPRXVDHVWKHWLFSKHQRPHQDFDQ
ZHORFDWHRULQYHQWGLIIHUHQWSHUVSHFWLYHV
XSRQWKHXQLYHUVHRIWKLQJVIHOW
"'RHVLWDOORZ
XVWRVHHKRZDQGXQGHUZKDWFRQGLWLRQVFRGHEHFRPHVLPSRUWDQW"
7KHUHDUHFRPSHWLQJLQWHUSUHWDWLRQVRIWKHLPSRUWDQFHRIFRGH,QWKHDFDGHPLF
GLVFLSOLQHVRIFRPSXWHUVFLHQFHDQGVRIWZDUHHQJLQHHULQJZKHUHDIRUPDOLVWRU
WKHRUHPDWLFXQGHUVWDQGLQJRIFRGHSUHYDLOVWKHLPSRUWDQFHRIFRGHFRQVLVWVLQ
DEVWUDFWLRQ7KHVHHQJLQHHULQJGLVFLSOLQHVUHSUHVHQWFRGHDVDV\VWHPZKRVHSURSHUWLHV
FDQEHPRGHOOHGDQGH[SUHVVHGULJRURXVO\SUHIHUDEO\LQDIRUPDOJUDPPDULIQRWDVD
PDWKHPDWLFDOSURRI&RPSXWHUVFLHQWLVWVIRUPXODWHWKHRUHPDWLFLQWHUSUHWDWLRQVRIFRGH
XVLQJVHWWKHRU\
$OPRVWDOOWKHHQWLWLHVDULVLQJLQWKHVWXG\RIFRPSXWHUVRIWZDUHV\VWHPVLQFOXGLQJ
FRPSXWHUSURJUDPVODQJXDJHVGDWDVWUXFWXUHVDQGRSHUDWLQJV\VWHPVFDQEH
DEVWUDFWO\PDWKHPDWLFDOO\GHILQHGDV
DOJHEUDLFV\VWHPV
LHDVVHWVRIREMHFWV
WRJHWKHUZLWKFHUWDLQ
UHODWLRQV
DQG
RSHUDWLRQV
DVVRFLDWHGZLWKWKHVHWV/HZ
)URPWKLVSHUVSHFWLYHWKHZRUNFRGHGRHVZLWKLQFROOHFWLYHOLIHXOWLPDWHO\UHGXFHVWR
UHODWLRQVDQGRSHUDWLRQVVXFKDVVRUWLQJFRPSDULQJFRS\LQJUHPRYLQJSHUWDLQLQJWR
LQIRUPDWLRQHQWLWLHV7KHDFWXDOFRGHWKDWSURJUDPPHUVUHDGDQGZULWHFRQVLVWRI
SUDFWLFDOH[SUHVVLRQVRIDEVWUDFWUHODWLRQVDQGIRUPDORSHUDWLRQVEHWZHHQHQWLWLHV
JURXSHGLQVHWV7KHFRQFUHWHGRPDLQLQZKLFKWKHVHHQWLWLHVUHODWLRQVDQGRSHUDWLRQV
H[LVWDQGWKHDFWXDOFRGHWKDWH[SUHVVHVWKHPZRXOGEHVHFRQGDU\6XFKDQ
LQWHUSUHWDWLRQDOORZDIRUPDOLVWUHDGLQJRIIRUNERPESO
VFRGH(DFKOLQHRIWKHFRGH
ZRXOGHLWKHUGHILQHDQHQWLW\DUHODWLRQRUDQRSHUDWLRQRQUHODWLRQVEHWZHHQHQWLWLHV
ZLWKLQWKHGRPDLQRIDQDOJHEUDLFV\VWHP6RIRULQVWDQFHWKHOLQH
P\VWUHQJWK $5*9>@
ZRXOGGHILQHDQHQWLW\LQWKLVFDVHDYDULDEOHDVVRFLDWHLWZLWKDQDPH
VWUHQJWK
DVVLJQLWDYDOXHLQWKLVFDVHE\UHIHUULQJWRDYDOXHVXSSOLHGE\WKHXVHUDQGFRQWDLQHG
LQWKHYDULDEOH$5*9>@DQGWKHQFDUU\RXWWKHDULWKPHWLFRSHUDWLRQRIDGGLQJWR
WKHYDULDEOHQDPHG
VWUHQJWK
7KHWKHRUHPDWLFLQWHUSUHWDWLRQUHVWVRQDZHOO
HVWDEOLVKHGVHSDUDWLRQEHWZHHQIRUPDQGFRQWHQWZKLFKKRPRJHQLVHVFRQWHQWDQG
VXERUGLQDWHVLWWRIRUP
$GLIIHUHQWLQWHUSUHWDWLRQRIFRGHFRUUHODWHVPXFKPRUHFORVHO\ZLWKWKHGD\WRGD\
SUDFWLFHVRISURJUDPPHUVDQGSHUKDSVDFFRUGVVRPHJHQHUDWLYHSRWHQWLDOVWRFRGLQJ
'HOHX]HDQG*XDWWDULZULWH
ZKHUHDVWKHWKHRUHPEHORQJVWRWKHUDWLRQDORUGHUVWKH
SUREOHPLVDIIHFWLYHDQGLVLQVHSDUDEOHIURPWKHPHWDPRUSKRVHVJHQHUDWLRQVDQG
FUHDWLRQV
'HOHX]H*XDWWDUL,QWKHLUDFFRXQWRIKRZ
FROOHFWLYHERGLHV
FDQWULJJHUQRYHOFRPSRVLWLRQVRUPHWDPRUSKRVHV'HOHX]HDQG*XDWWDULDWWULEXWH
SRWHQF\WR
IULQJHVRUPLQRULWLHV
JUDSSOLQJZLWKWKHSUREOHPVSRVHGE\TXLWHWHFKQLFDO
HQWHUSULVHVVXFKDVPHWDOOXUJ\PXVLFFDWKHGUDORUEULGJHEXLOGLQJRUZH
FRXOGDGGFRGH7KHSUDFWLFHVRIWKHVHIULQJHJURXSVGHPRQVWUDWHDGLIIHUHQWUHODWLRQ
EHWZHHQIRUPDQGFRQWHQWWKDQWKHXVXDOLPSRVLWLRQRIIRUPRQWRFRQWHQWPDWWHU$
OHVVWKHRUHPDWLFDQGPRUHSUREOHPDWLFDSSURDFKDSSHDUVWKHUH
>0@DWWHULQQRPDGVFLHQFHLVQHYHUSUHSDUHGDQGWKHUHIRUHKRPRJHQL]HGPDWWHU
EXWLVHVVHQWLDOO\ODGHQZLWKVLQJXODULWLHVZKLFKFRQVWLWXWHDIRUPRIFRQWHQW$QG
QHLWKHULVH[SUHVVLRQIRUPDOLWLVLQVHSDUDEOHIURPSHUWLQHQWWUDLWVZKLFKFRQVWLWXWH
DPDWWHURIH[SUHVVLRQ'HOHX]H*XDWWDUL
,IZHWDNHWKHVHLGHDVRIPDWHULDOVLQJXODULWLHVDQGWUDLWVRIH[SUHVVLRQVHULRXVO\FRGH
FDQQRWEHVHHQDVDIRUPDOVHWRIRSHUDWLRQVDQGUHODWLRQVFRQFHUQLQJHQWLWLHV7KH
PDWWHURQZKLFKFRGHZRUNVLVQHYHUKRPRJHQHRXVRUIXOO\SUHSDUHG7KH
PDWWHU
RQ
ZKLFKFRGHRSHUDWHVLQFOXGHVFROOHFWLYHDUUDQJHPHQWVRINQRZOHGJHSURGXFWLRQ
FLUFXODWLRQDQGFRQVXPSWLRQSDWWHUQVRIWUDQVDFWLRQDQGH[FKDQJHLQGLYLGXDODQGPDVV
FRPPXQLFDWLRQLQWHUDFWLRQSURGXFWLRQUHFHSWLRQDQGDXGLHQFLQJRIYDULRXVDXGLRYLVXDO
WH[WVUDQJLQJDFURVVVRXQGLPDJHDQGWH[WVPDQDJHPHQWDQGRUJDQLVDWLRQDOVWUXFWXUHV
HWF²LVKLJKO\KHWHURJHQHRXVG\QDPLFDQGPXWDEOH
Problematic code
:KDWZRXOGWKHVHPHDQLQWHUPVRIDQDO\VLQJIRUNERPESODVSLHFHRIFRGH"$V
VXJJHVWHGDERYHIRUNERPESOLVDVRPHZKDWVHOIUHIHUHQWLDOZRUN$OOLWGRHVLV
JHQHUDWHDQH[SRQHQWLDOO\LQFUHDVLQJQXPEHURIFRSLHVRILWVHOI$WWKHVDPHWLPHWKH
ZRUNUHOLHVRQWZRSDUWLFXODUGLVWLQFWLYHIHDWXUHVRIFRQWHPSRUDU\PXOWLXVHULQWHUDFWLYH
RSHUDWLQJV\VWHPV7KHVHIHDWXUHVDUHGLUHFWO\UHDGDEOHIURPWKHFRGHLWVHOI7KHNH\
OLQHVWKDWSRLQWWRZDUGVERWKPDWHULDOVLQJXODULWLHVZLWKLQWKHFRPSXWLQJHQYLURQPHQW
DQGWUDLWVRIH[SUHVVLRQZLWKLQWKHFRGHDUH
ZKLOHQRWIRUN^
H[LWXQOHVVVWUHQJWK
SULQW
IRUNERPESOUHOLHVRQWKHSUHVHQFHRID
IRUN
RSHUDWLRQZLWKLQWKHSURJUDPPLQJ
ODQJXDJH3HUO1RWDOOSURJUDPPLQJODQJXDJHVKDYHVXFKDFRQVWUXFW7KHILUVWSRLQW
KHUHLVWKDWIRUNERPESOFRXOGQRWEHHDVLO\ZULWWHQLQMXVWDQ\SURJUDPPLQJODQJXDJH
3HUOGLVSOD\VVRPHSHUWLQHQWWUDLWVRIH[SUHVVLRQ
7KHIRUNRSHUDWLRQLQ3HUORZHVLWVH[LVWHQFHWRWKHIDFWWKDWODQJXDJHZDVRULJLQDOO\
GHVLJQHGE\DFRPSXWHUV\VWHPDGPLQLVWUDWRUIRUXVHE\RWKHUV\VWHPDGPLQLVWUDWRUV
8QOLNHPRVWODQJXDJHGHVLJQHUVZRUNLQJLQDFDGHPLFFRPSXWLQJVFLHQFHGHSDUWPHQWVRU
ODUJHFRUSRUDWHRULQVWLWXWLRQDOUHVHDUFKODERUDWRULHV/DUU\:DOOWKHODQJXDJHGHVLJQHU
ZDVZRUNLQJGXULQJWKHVDVDV\VWHPDGPLQLVWUDWRULQDFRUSRUDWHHQYLURQPHQWRQ
WKH:HVW&RDVWRI86$VRPHZKDWUHPRYHGIURPWKHWKHRUHPDWLFDJHQGDRIFRPSXWLQJ
VFLHQFHDVDQDFDGHPLFGLVFLSOLQH0RRG\7KHPRWLYDWLRQIRU3HUO
DFFRUGLQJWR:DOOVWHPPHGIURPDQXQRFFXSLHG
HFRORJLFDOQLFKH
LQH[LVWLQJFRPSXWLQJ
HQYLURQPHQWV:DOO$SDUWIURPGHVNWRS3&VPRVWFRPSXWHUV\VWHPVDWWKHWLPH
XVHGDQRSHUDWLQJV\VWHPFDOOHG8QL[EXWV\VWHPDGPLQLVWUDWRUVKDGWRHLWKHUXVHYHU\
ORZOHYHOWRROVRUKLJKOHYHOVRIWZDUHDSSOLFDWLRQV'DWLQJIURP3HUODWWDLQHG
DOPRVWXQULYDOOHGSRSXODULW\LQZHESURJUDPPLQJDQGDVDV\VWHPDGPLQLVWUDWRU
VWRRO
EHFDXVHLWOLHVPLGZD\EHWZHHQORZOHYHOSURJUDPPLQJODQJXDJHVVXFKDV&DQGKLJK
OHYHOVRIWZDUHWRROVDQGDSSOLFDWLRQV/DUU\:DOOGHVFULEHVKLVPRWLYDWLRQDVIROORZV
:KHQ,VWDUWHGGHVLJQLQJ3HUO,H[SOLFLWO\VHWRXWWRGHFRQVWUXFWDOOWKHFRPSXWHU
ODQJXDJHV,NQHZDQGUHFRPELQHRUUHFRQVWUXFWWKHPLQDGLIIHUHQWZD\EHFDXVH
WKHUHZHUHPDQ\WKLQJV,OLNHGDERXWRWKHUODQJXDJHVDQGPDQ\WKLQJV,GLVOLNHG,
ORYLQJO\UHXVHGIHDWXUHVIURPPDQ\ODQJXDJHV:KDWHYHUWKHYHUE\RXFKRRVH,
YH
GRQHLWRYHUWKHFRXUVHRIWKH\HDUVIURP&VKFVKJUHSVHGDZN)RUWUDQ&2%2/
3/,%$6,&3/86612%2//LVS$GD&DQG3\WKRQ7RQDPHDIHZ7RWKHH[WHQW
WKDW3HUOUXOHVUDWKHUWKDQVXFNVLW
VEHFDXVHWKHYDULRXVIHDWXUHVRIWKHVHODQJXDJHV
UXOHGUDWKHUWKDQVXFNHG:DOO
:LWKRXWJRLQJLQWRWKHGHWDLOVPXFKRIWKHIRUNERPESOFRGHVKRZQDERYHFRXOGEH
DQDO\VHGLQWHUPVRIWKHZD\LV
ODGHQZLWKVLQJXODULWLHV
GUDZQIURPDQWHFHGHQW
SURJUDPPLQJODQJXDJHV7KHXVHRID
ZKLOH
VWDWHPHQWIRULQVWDQFHUHIOHFWVWKH
LQIOXHQFHRIWKH&SURJUDPPLQJODQJXDJH7KHPRUHLPSRUWDQWSRLQWKHUHLVWKDWUDWKHU
WKDQEHLQJDIRUPDOGHVFULSWLRQRIUHODWLRQVEHWZHHQDVHWRIHQWLWLHV3HUOHIIHFWLYHO\
VWDWHGDSUREOHPWKDWH[LVWHGDPLGVWWKHDVVHPEODJHRIODUJHVFDOHFRPSXWLQJQHWZRUNV
GHYHORSLQJGXULQJWKHODWHV3HUOUHVSRQGVWRWKHSUREOHPRIDV:DOOSXWVLWDQ
XQRFFXSLHGHFRORJLFDOQLFKH
:DOOFRPELQHGIHDWXUHVIURPPDQ\GLIIHUHQWSURJUDPPLQJODQJXDJHVDVZHOODVGUDZLQJ
RQOLQJXLVWLFWKHRU\7KHODQJXDJH
IROORZVWKHFRQQHFWLRQVEHWZHHQVLQJXODULWLHVRI
PDWWHUDQGWUDLWVRIH[SUHVVLRQDQGORGJHVRQWKHOHYHORIWKHVHFRQQHFWLRQVZKHWKHU
WKH\EHQDWXUDORUIRUFHG
'HOHX]H*XDWWDUL&RPELQLQJVLQJXODULWLHVRI
PDWWHUDQGWUDLWVRIH[SUHVVLRQWKDWHTXDOO\FRQFHUQWKHDUFKLWHFWXUHRIKDUGZDUH
SODWIRUPVWKHH[LVWHQFHRIZLGHO\VKDUHGSUDFWLFDONQRZOHGJHRISDUWLFXODUSURJUDP
FRQVWUXFWVVXFKDVORRSVDQGDUUD\VWKHFRPPRQDOLWLHVRIDYDLODEOHRSHUDWLQJV\VWHPV
DQGH[LVWLQJZD\VRIRUJDQLVLQJDQGGLYLGLQJFRGLQJZRUN3HUOFKDQJHVKRZSURJUDPPHUV
ZRUN
&RQQHFWLQJVLQJXODULWLHVRIPDWWHUDQGWUDLWVRIH[SUHVVLRQDOVRLQYROYHV
DQRWKHU
RUJDQL]DWLRQRIZRUNDQGRIWKHVRFLDOILHOGWKURXJKZRUN
'HOHX]H*XDWWDUL
%H\RQGWKHVPDOOH[DPSOHVRISDUWLFXODUSURJUDPPLQJFRQVWUXFWVZHKDYH
DQDO\VHGZHFRXOGH[DPLQHZKDW3HUOKDVGRQHWRFRGHGXULQJWKHODVWWZRGHFDGHV,W
ZRXOGEHSRVVLEOHWRPDSRXWWKHNLQGVRISURJUDPPLQJFRQVWUXFWVWKDW3HUOVXSSOLHV
WKHV\QWDFWLFDOLGLRPVDQGFRQWUDFWLRQVLWPDNHVDYDLODEOHRUWKHYDVWOLEUDU\RIDGGRQ
3HUO
PRGXOHV
LQDUHDVVXFKDVFU\SWRJUDSK\GDWDEDVHDFFHVVQHWZRUNFRQWUROWH[W
SURFHVVLQJDQGSDWWHUQPDWFKLQJWKDWKDYHEHFRPHIUHHO\DYDLODEOHRYHUWKHODVW
\HDUV3HUOKDVEHHQLPSRUWDQWEHFDXVHLWDOORZVFRGHWREHZULWWHQTXLFNO\RIWHQXVLQJ
KLJKO\FRPSUHVVHGDQGLGLRPDWLFV\QWD[6XFKFRGHKDVEHHQSDUWLFXODUO\XVHIXOIRU
V\VWHPDGPLQLVWUDWRUVDQGSURJUDPPHUVZKRHIIHFWLYHO\VWLWFKHGWRJHWKHUWKH
LQIUDVWUXFWXUHVRILQIRUPDWLRQDQGFRPPXQLFDWLRQWRGD\3HUOPDGHLWSRVVLEOHWRZULWH
FRGHWKDWOLQNVZHEVHUYHUVLQWRRWKHULQIRUPDWLRQV\VWHPVIRULQVWDQFHLQH&RPPHUFH
ZKHUHZHEVHUYHUVQHHGWREHFRQQHFWHGWRGDWDEDVHVDQGWUDQVDFWLRQSURFHVVLQJ
V\VWHPV
7KHIDFWIRUNERPESOLVZULWWHQLQ3HUOFDUULHVDFHUWDLQFRQQRWDWLRQRIEHLQJFRQQHFWHG
WRWKHLQIUDVWUXFWXUHVRILQIRUPDWLRQDQGFRPPXQLFDWLRQ%HFDXVH3HUOLVDV\VWHP
DGPLQLVWUDWRU
VWRROZULWLQJLQ3HUOLVDVVRFLDWHGZLWKLQKDELWLQJWKHLQIUDVWUXFWXUHV
Conclusion: a feeling for code
3UREOHPVRFFXS\DVWUDQJHVSDFH$SUREOHPLVDWDVNDFFRUGLQJWR0DQXHO'HODQGD
GHILQHGE\
DGLVWULEXWLRQRIWKHVLQJXODUDQGWKHRUGLQDU\WKHLPSRUWDQWDQGWKH
XQLPSRUWDQWWKHUHOHYDQWDQGWKHLUUHOHYDQW
'HODQGD,KDYHEHHQDUJXLQJ
WKDWFRGHKDVDSUREOHPDWLFPRGHRIH[LVWHQFHLQVHYHUDOZD\VLQWKHUHODWLRQEHWZHHQ
WH[WDQGSURFHVVLQWKHFRQWHVWEHWZHHQRUGHULQJDQGGLVRUGHULQJLQLWVEHFRPLQJ
LPSHUFHSWLEOHDQGLQWKHFROOHFWLYHKXPDQQRQKXPDQIRUPDWLRQVLWLQVWLWXWHV&RGH
H[LVWVDVDSUREOHPLQWKHZD\WKDWDPDWKHPDWLFDOSUREOHPPLJKWEHVDLGWRH[LVWDV
VRPHWKLQJWKDWSHRSOHWU\WRSRVHRUVWDWHDVVRPHWKLQJWKDWDWWUDFWVGLIIHUHQW
VROXWLRQVDQGVRPHWKLQJWKDWOHDGVWRDIIHFWLYHUHVSRQVHV
,VFRGHLPSRUWDQW"&RGHSURYLGHVPHDQVDQGWHUPVIRUVWDWLQJVROXWLRQVWRFHUWDLQ
SUREOHPVSRVHGZLWKLQFROOHFWLYHOLIH$SUREOHPZULWHV'HOHX]H
DOZD\VKDVWKH
VROXWLRQLWGHVHUYHVLQWHUPVRIWKHZD\LQZKLFKLWLVVWDWHGDQGRIWKHPHDQVDQG
WHUPVDWRXUGLVSRVDOIRUVWDWLQJLW
'HOHX]H7KHVHPHDQVDQGWHUPVDUHQRW
LQGLIIHUHQWDKLVWRULFDOWUDQVFHQGHQWDODSROLWLFDORULQFRQWHVWDEOH:HFDQQRWWKLQN
FRGHLIZHUHGXFHLWVVSHFLILFLW\WRDWRWDOLVHGXQGHUVWDQGLQJRIWHFKQRORJ\RU
LQIRUPDWLRQVRFLHW\RUZHLQIODWHLWVVWDWXVWRDUDGLFDOO\QHZNLQGRIVXEVWDQFHRU
JURXQG
&DQFRGHSURYRNHLQYHQWLYHRUFULWLFDOWKRXJKW",VFRGHJRRGWRWKLQNZLWKSROLWLFDOO\RU
RQWRORJLFDOO\"&DQFRGHWURXEOHWKHW\SRORJLHVDQGRQWRORJLHVJRYHUQLQJFRQWHPSRUDU\
XQGHUVWDQGLQJVRILQIRUPDWLRQQHZPHGLDFRPPXQLFDWLRQDQGFROOHFWLYHOLIH"
IRUNERPESOJLYHVDIHHOLQJRIKRZFRGHHQDEOHVSDUWLFXODUVROXWLRQVSDUWLFXODUZD\VRI
FRQQHFWLQJPDWHULDOVLQJXODULWLHVDQGWUDLWVRIH[SUHVVLRQ&RGHLVZULWWHQDQGUXQZLWKLQ
VLWXDWHGSUDFWLFHVZLWKUHIHUHQFHWRSDUWLFXODUGRPDLQVDQGZLWKLQSDUWLFXODURUGHULQJV
DQGGLVRUGHULQJVRIFROOHFWLYHOLIH,WVIRUPVDQGDEVWUDFWLRQVDUHDWWDFKHGWROLYHV9LD
3HUOIRUNERPESOWDSVLQWRPDWHULDOVLQJXODULWLHVFRQFHUQLQJWKHGLVWULEXWLRQDQG
DOORFDWLRQRIFRPSXWLQJUHVRXUFHVDNH\VLWHRIFRQWHVWDWLRQZLWKLQFRQWHPSRUDU\
WHFKQRVFDSHV7KHVHFRQWHVWVSHUYDGHFRPPRGLW\FRPSXWLQJSODWIRUPV$VXQZDQWHG
EURZVHUZLQGRZVDSSHDUDVHPDLOVSDPILOOWKHPDLOER[HVDVYLUXVHVFRUUXSWKDUG
GULYHVDQGDVGHQLDORIVHUYLFHDWWDFNVUHQGHU$O-D]HHUD
VZHEVLWHLQYLVLEOHUHVRXUFH
DOORFDWLRQFRQWHVWVVWUXFWXUHWKHHYHU\GD\H[SHULHQFHRILQWHUDFWLYHFRPSXWLQJWKDWZH
PRVWO\WDNHIRUJUDQWHGDVSDUWRIWKHEXLOWHQYLURQPHQW7KHWUDLWVRIH[SUHVVLRQ
IRUNERPESOGUDZVRQDUHHPEHGGHGLQ3HUO7KH\SHUWDLQWRDQRUJDQLVDWLRQRIFRGLQJ
ZRUNGHYHORSHGRQWKHPDUJLQVRIPDLQVWUHDPFRPSXWLQJVFLHQFHLQWKHWHFKQLFLDQ
V
GRPDLQRIV\VWHPDGPLQLVWUDWLRQ7KHRQFHUHODWLYHO\PLQRUWHFKQLFDOZRUNRIFRPSXWHU
V\VWHPDGPLQLVWUDWLRQWRGD\KDVEHFRPHDQLQWHJUDOOLQNLQFRQVWUXFWLQJQHWZRUNVDQG
DOORZLQJPRYHPHQWEHWZHHQFRPSXWLQJHQYLURQPHQWV
8QGHUZKDWFRQGLWLRQVGRHVDIHHOLQJIRUFRGHLPSRVHDSHUVSHFWLYHXSRQWKH
XQLYHUVH
RIWKLQJVIHOW
"+RZGRHVFRGHEHFRPHDQREMHFWRIDIIHFWLYHUHVSRQVH",QSULQFLSOH
IHHOLQJWDJVDVKLIWLQUHODWLRQVEHWZHHQERGLHV,QWKHLUDFFRXQWRIWKHUHODWLRQEHWZHHQ
IHHOLQJDQGFROOHFWLYHOLIHWKHSROLWLFDOSKLORVRSKHUV*HQHYLHYH/OR\GDQG0RLUD*DWHQV
VXJJHVW
7KHDZDUHQHVVRIKXPDQFROOHFWLYLWLHVWKHDZDUHQHVVRIERGLHVLQUHODWLRQLVQRWD
PHUHO\FRJQLWLYHDZDUHQHVVRIERGLO\FKDQJH,WLVVKRWWKURXJKZLWKHPRWLRQZLWK
WKHDZDUHQHVVRIERGLO\WUDQVLWLRQWRJUHDWHURUOHVVHUVWDWHVRIDFWLYLW\6RFLDELOLW\LV
LQKHUHQWO\DIIHFWLYH*DWHQV/OR\G
$Q\IHHOLQJLQFOXGLQJDIHHOLQJIRUFRGHRIFRGH
VLPSRUWDQFHDULVHVIURP
ERGLHVLQ
UHODWLRQ
WRXVH*DWHQVDQG/OR\G
V6SLQR]LVWWHUPLQRORJ\
+RZGRHVDIHHOLQJIRUFRGHRUDERXWFRGHFRPHDERXW",Q*DWHQVDQG/OR\G
VWHUPV
FRGHPD\LQYROYHWUDQVLWLRQWROHVVHURUJUHDWHUVWDWHVRIDFWLYLW\LWPD\SRWHQWLDWHRU
SDVVLYDWH
ERGLHVLQUHODWLRQ,KDYHEHHQVXJJHVWLQJWKDWFRGHKDVDSUREOHPDWLFUDWKHU
WKDQWKHRUHPDWLFPRGHRIH[LVWHQFH&HUWDLQVROXWLRQVUHGXFHWKDWSUREOHPDWLFDVSHFW
WRRUGLQDU\RSHUDWLRQDOLW\,QIDFWPXFKRIZKDWEHFRPHVLQYLVLEOHQDWXUDOHDV\LQ
LQIRUPDWLRQLQIUDVWUXFWXUHVDWWHVWVWRDUHGXFWLRQWRWKHRUGLQDU\RUWKHQRUPDO0XFKRI
WKHHYHU\GD\ZRUNRIFRGLQJWDNHVSODFHDVDVHWRIRUGLQDU\RUGHULQJSUDFWLFHV2WKHU
VROXWLRQVPDLQWDLQDFORVHUUHODWLRQWRWKHSUREOHPIURPZKLFKWKH\VSULQJ
2FFDVLRQDOO\WKHVROXWLRQDSLHFHRIFRGHDFWXDOO\UHIRUPXODWHVDQGUHQGHUVYLVLEOHD
SUREOHPDWLFQH[XVWKDWSUHYLRXVO\KDGEHHQEDGO\IRUPXODWHGRUSRVHGLQDFRQIXVHG
ZD\
References
$JDPEHQ*LRUJLR
)RUPRIOLIH
HGV+DUGW0LFKDHO9LUQR3DROR5DGLFDO7KRXJKWLQ
,WDO\$3RWHQWLDO3ROLWLFV8QLYHUVLW\RI0LQQHVRWD3UHVV0LQQHDSROLV/RQGRQ
$SSDGXUDL$UMXQ0RGHUQLW\DWODUJHFXOWXUDOGLPHQVLRQVRIJOREDOL]DWLRQ8QLYHUVLW\
RI0LQQHVRWD3UHVV0LQQHDSROLV
%RZNHU*HRIIUH\&6WDU6XVDQ/HLJK6RUWLQJ7KLQJV2XW&ODVVLILFDWLRQDQG,WV
&RQVHTXHQFHV0,73UHVV&DPEULGJH0$
%RXUQH6WHSKHQ57KH8QL[6\VWHP9(QYLURQPHQW$GGLVRQ:HVOH\3XEOLVKLQJ
&RPSDQ\
&DUQLYRUH3(KWWSZZZUKL]RPHRUJFDUQLYRUH-DQXDU\
&DVWHOOV0DQXHO7KH,QWHUQHWJDOD[\UHIOHFWLRQVRQWKH,QWHUQHWEXVLQHVVDQG
VRFLHW\2[IRUG83
&R[*HRII0F/HDQ$OH[:DUG$GULDQ
7KH$HVWKHWLFVRI*HQHUDWLYH&RGH
KWWSZZZJHQHUDWLYHQHWSDSHUVDHVWKHWLFVLQGH[KWPO'HFHPEHU
'HODQGD0DQXHO,QWHQVLYH6FLHQFHDQG9LUWXDO3KLORVRSK\&RQWLQXXP%RRNV/RQGRQ
1HZ<RUN
'HOHX]H*LOOHV*XDWWDUL)HOL[$7KRXVDQG3ODWHDXVWU%ULDQ0DVVXPL8QLYHUVLW\RI
0LQQHVRWD3UHVV0LQQHDSROLV
'HOHX]H*LOOHV%HUJVRQLVP=RQH%RRNV1HZ<RUN
*DWHQV0RLUD/OR\G*HQHYLHYH&ROOHFWLYH,PDJLQLQJV6SLQR]DSDVWDQGSUHVHQW
5RXWOHGJH/RQGRQ1HZ<RUN
.LWWOHU)ULHGULFK
7KHUHLVQRVRIWZDUH
/LWHUDWXUH0HGLD,QIRUPDWLRQ6\VWHPVHG
-RKQVWRQ-RKQ*%$UWV,QWHUQDWLRQDO
/DVK6FRWW&ULWLTXHRI,QIRUPDWLRQ6DJH3XEOLFDWLRQV/WG
/DWRXU%UXQR$UDPLVRUWKHORYHRIWHFKQRORJ\WUDQVE\&DWKHULQH3RUWHU+DUYDUG
83
/HVVLJ/DZUHQFH&RGHDQGRWKHU/DZVRI&\EHUVSDFH%DVLF%RRNV
/HWWLFH-RKQ
06SOD\VWKHVHFXULW\FDUGLQ*RYVKDUHGVRXUFHUHWUHDG
7KH
5HJLVWHUKWWSFRQWHQWKWPO-DQ
/HZ$UW&RPSXWHU6FLHQFH$0DWKHPDWLFDO,QWURGXFWLRQ3UHQWLFH+DOO,QWHUQDWLRQDO
/RKU6WHYH¶0LFURVRIWWR*LYH*RYHUQPHQWV$FFHVVWR&RGH·1HZ<RUN7LPHV
%XVLQHVV)LQDQFLDO'HVN-DQXDU\6HFWLRQ&S
0DQRYLFK/HY7KHODQJXDJHRIQHZPHGLD0,73UHVV&DPEULGJH
0RRG\*O\Q5HEHO&RGH/LQX[DQGWKH2SHQ6RXUFH5HYROXWLRQ3HQJXLQ
3HUPXQJNDK
*UHDWTXRWH
KWWSXVHSHUORUJFRPPHQWVSO"FLG VLG -DQ
5D\PRQG(ULF7KH1HZ+DFNHUV'LFWLRQDU\ (GLWLRQ0,73UHVV
6LHYHU(OOHQ6SDLQKRXU6WHSKHQ3DWZDUGKDQ1DWKDQ3HUOLQD1XWVKHOO$'HVNWRS
4XLFN5HIHUHQFH2
5HLOO\$VVRFLDWHV6HEDVWDSRO
6RIWZDUH$UW5HSRVLWRU\KWWSUXQPHRUJ-DQ
7UDQVPHGLDOH3UL]HVKWWSZZZWUDQVPHGLDOHGHHQSUHVVUHOHDVHVSKS
-DQ
8OOPDQ(OOHQ&ORVHWRWKH0DFKLQH7HFKQRSKLOLDDQGLWV'LVFRQWHQWV&LW\/LJKWV
%RRNV6DQ)UDQFLVFR
:DOO/DUU\
3HUOWKHILUVWSRVWPRGHUQFRPSXWHUODQJXDJH
KWWSZZZSHUOFRPOSWDSPKWPO-XO\
:KLWHKHDG$OIUHG1RUWK0RGHVRI7KRXJKW&DPEULGJH8QLYHUVLW\3UHVV
L
$PDMRURQOLQHFRGHUHSRVLWRU\VXFKDV6RXUFH)RUJH6RXUFH)RUJHKRVWVWKRXVDQGVRIFRGLQJ
SURMHFWV,Q-DQXDU\6RXUFH)RUJHFODLPHGWRFRQWDLQSURMHFWVDQGKDYHDURXQGDKDOI
PLOOLRQUHJLVWHUHGXVHUV$OWKRXJKWKHQXPEHURIUHJLVWHUHGXVHUVRQO\DPRXQWVWRDVPDOOFLW\LQ
FRQWHPSRUDU\WHUPVDURXQGGLIIHUHQWVRIWZDUHSURMHFWVDUHXQGHUGHYHORSPHQWWKHUH
LL 7KLVFRGHIUDJPHQWVKRZVDFRXSOHRILPSRUWDQWWKLQJV7KHWH[WEDVLFDOO\FRQVLVWVRIWZR
ZKLOH
ORRSV
7\SLFDOO\WKHZRUNRIFRGLQJLQYROYHVPDNLQJORRSVVSOLFLQJORRSVWRJHWKHUDQGQHVWLQJORRSVZLWKLQ
ORRSV/RRSVRIWHQLQWHUDFWZLWKHDFKRWKHUGXULQJH[HFXWLRQRIWKHFRGH,QWKLVFDVHWKHORRSV
WZLVWHGWKURXJKHDFKRWKHUFRQVWDQWO\DOWHUHDFKRWKHUV
ERXQGLQJFRQGLWLRQVWRDGHJUHHUHJXODWHGE\
WKH
VWUHQJWK
YDULDEOHSURYLGHGWKHXVHU
LLL ,QDVHQVHWKHQ/DWRXU
VSRVLWLRQHFKRHVWKHSKHQRPHQRORJLFDOGHVFULSWLRQRIFRGHJLYHQDERYHFRGHLV
VRPHWKLQJERWKUHDGDQGH[HFXWHGLWGHVFULEHVDQGRSHUDWHVLWH[SUHVVHVVRPHWKLQJDQGGRHV
VRPHWKLQJLWUHSUHVHQWVDQGSHUIRUPVZKDWLWUHSUHVHQWV7KLVVXJJHVWVWKDWFUXFLDOTXHVWLRQVDERXW
FRGHZLOOFRQFHUQQRWZKHWKHURUQRWLWFDQFDSWXUHWKHUHDOEXWKRZFRGHFDQVHHPWRGRERWKWKLQJV
DWRQFHERWKDWH[WGHVFULELQJDQDUURZO\GHILQHGFRQWH[WDQGDWUDLQRIRSHUDWLRQVRUGHULQJDQG
UHJXODWLQJDFRQWH[W