BB uuiillddiinn gg AA dd aa DD ee vv eelloo pp mm ee nntt TT oo oo llss wwiitthh AA SSII SS--ffoorr--GG NN AA TT Sergey Rybin Vasily Fofanov (cid:21) SSuu mm mm aarryy BBuuiillddiinngg AAddaa DDeevveellooppmmeenntt ttoooollss wwiitthh AASSIISS--ffoorr--GGNNAATT (cid:145)(cid:145) AASSIISS -- AAddaa SSeemmaannttiicc IInntteerrffaaccee SSppeecciiffiiccaattiioonn (cid:145)(cid:145) BBuuiillddiinngg AASSIISS--bbaasseedd ttoooollss (cid:145)(cid:145) GGNNAATT (cid:145)(cid:145) AASSIISS--ffoorr--GGNNAATT (cid:22) WW hh aatt iiss AASSIISS?? 44 TThhee ggeenneerraall iiddeeaa:: AAddaa EEnnvviirroonnmmeenntt Code analysis ASIS IXQFWLRQ(cid:3))(cid:20)(cid:3)(cid:11);(cid:3)(cid:29)(cid:3)7(cid:20)(cid:12)(cid:3) tools UHWXUQ(cid:3)7(cid:21)(cid:30) IXQFWLRQ(cid:3))(cid:21)(cid:3)(cid:11);(cid:3)(cid:29)(cid:3)7(cid:20)(cid:12)(cid:3) AAddaa IImmpplleemmeennttaattiioonn UHWXUQ(cid:3)7(cid:21)(cid:30) IXQFWLRQ(cid:3))(cid:22)(cid:3)(cid:11);(cid:3)(cid:29)(cid:3)7(cid:20)(cid:12)(cid:3) UHWXUQ(cid:3)7(cid:21)(cid:30) IXQFWLRQ(cid:3))(cid:23)(cid:3)(cid:11);(cid:3)(cid:29)(cid:3)7(cid:20)(cid:12)(cid:3) UHWXUQ(cid:3)7(cid:21)(cid:30) IXQFWLRQ(cid:3))(cid:24)(cid:3)(cid:11);(cid:3)(cid:29)(cid:3)7(cid:20)(cid:12)(cid:3) UHWXUQ(cid:3)7(cid:21)(cid:30) ZLWK(cid:3)$VLV(cid:15)(cid:3)(cid:17)(cid:17)(cid:17)(cid:30) SURFHGXUH(cid:3)%URZVHU(cid:3)LV some attribute some attribute (cid:17)(cid:17)(cid:17) pa.c..kage Pis EHJLQ ... some attribute en.d.. P; some attribute ZLWK(cid:3)$VL(cid:17)V(cid:17)(cid:15)(cid:17)(cid:3)(cid:17)(cid:17)(cid:17)(cid:30) some attribute SURFHHGQXGU(cid:3)H%(cid:3)U0RHZWVUHLUF(cid:30)V(cid:3)LV package Pis some attribute (cid:17)(cid:17)(cid:17) (cid:17)(cid:17)(cid:17) ... en..d.... P; some attribute (cid:17)(cid:17)(cid:17) ZLWK(cid:3)$EVHLJVL(cid:15)Q(cid:3)(cid:17)(cid:17)(cid:17)(cid:30) SURFHGXUH(cid:17)(cid:3)(cid:17)6(cid:17)W\OHB&KHFNHU(cid:3)LV some attribute package Pis (cid:17)(cid:17)(cid:17) HQG(cid:3)0HWULFV(cid:30) ... some attribute en..d.... P; 0001100110001100 EHJLQ 000000010110000011011011010000010010000000000001010101000000100000010110100100000100110000000000 000000010101100000010110100100000100110000000000 000000010101100000010110100100000100110000000000 HQG(cid:17)(cid:3)(cid:17)6(cid:17)W\OHB&KHFNHU(cid:30) 01110100 01110100 01110100 00110010 00110010 00110010 AAddaa ccoommppoonneennttss ((ccoommppiillaattiioonn uunniittss)) IXQFWLRQ(cid:3))(cid:3)(cid:11);(cid:3)(cid:29)(cid:3)7(cid:20)(cid:12)(cid:3) UHWXUQ(cid:3)7(cid:21)(cid:30) IXQFWLRQ(cid:3))(cid:3)(cid:11);(cid:3)(cid:29)(cid:3)7(cid:20)(cid:12)(cid:3) UHWXUQ(cid:3)7(cid:21)(cid:30) IXQFWLRQ(cid:3))(cid:3)(cid:11);(cid:3)(cid:29)(cid:3)7(cid:20)(cid:12)(cid:3) UHWXUQ(cid:3)7(cid:21)(cid:30) (cid:23) WW hh aatt iiss AASSIISS?? 44 TThhee ooffffiicciiaall ddeeffiinniittiioonn ((IISSOO//IIEECC 1155229911::11999988((EE)))) –– TThhee AAddaa SSeemmaannttiicc IInntteerrffaaccee SSppeecciiffiiccaattiioonn ((AASSIISS)) iiss aann iinntteerrffaaccee bbeettwweeeenn aann AAddaa eennvviirroonnmmeenntt ((aass ddeeffiinneedd bbyy IISSOO//IIEECC 88665522::11999955)) aanndd aannyy ttooooll rreeqquuiirriinngg iinnffoorrmmaattiioonn ffrroomm iitt.. AAnn AAddaa eennvviirroonnmmeenntt iinncclluuddeess vvaalluuaabbllee sseemmaannttiicc aanndd ssyynnttaaccttiicc iinnffoorrmmaattiioonn.. AASSIISS iiss aann ooppeenn aanndd ppuubblliisshheedd ccaallllaabbllee iinntteerrffaaccee wwhhiicchh ggiivveess CCAASSEE ttooooll aanndd aapppplliiccaattiioonn ddeevveellooppeerrss aacccceessss ttoo tthhiiss iinnffoorrmmaattiioonn.. AASSIISS hhaass bbeeeenn ddeessiiggnneedd ttoo bbee iinnddeeppeennddeenntt ooff uunnddeerrllyyiinngg AAddaa eennvviirroonnmmeenntt iimmpplleemmeennttaattiioonnss,, tthhuuss ssuuppppoorrttiinngg ppoorrttaabbiilliittyy ooff ssooffttwwaarree eennggiinneeeerriinngg ttoooollss wwhhiillee rreelliieevviinngg ttooooll ddeevveellooppeerrss ffrroomm nneeeeddiinngg ttoo uunnddeerrssttaanndd tthhee ccoommpplleexxiittiieess ooff aann AAddaa eennvviirroonnmmeenntt’’ss pprroopprriieettaarryy iinntteerrnnaall rreepprreesseennttaattiioonn (cid:24) WW hh aatt iiss AASSIISS?? 44 AASSIISS AAPPII:: –– AASSIISS iiss wwrriitttteenn iinn AAddaa 9955 aass aa hhiieerraarrcchhyy ooff AAddaa ppaacckkaaggee ssppeecciiffiiccaattiioonnss;; –– AASSIISS ddeeffiinneess aa sseett ooff aabbssttrraacctt ddaattaa ttyyppeess;; –– FFoorr aann AASSIISS aapppplliiccaattiioonn,, AASSIISS iiss aann AAddaa lliibbrraarryy:: aann aapppplliiccaattiioonn ““wwiitthheess”” AASSIISS ppaacckkaaggeess,, uusseess AASSIISS-- ddeeffiinneedd ttyyppeess ttoo ddeeffiinnee ddaattaa oobbjjeeccttss,, ccaallllss AASSIISS-- ddeeffiinneedd ssuubbpprrooggrraammss ttoo ooppeerraattee wwiitthh tthheessee oobbjjeeccttss;; WW hh aatt iiss AASSIISS?? (cid:25) 44 AASSIISS AAPPII:: ASIS: SDFNDJH $VLV LV W\SH (OHPHQW(cid:3)LV(cid:3)SULYDWH(cid:30) (cid:17)(cid:17)(cid:17) HQG $6,6(cid:30) SDFNDJH $VLV(cid:17)’HFODUDWLRQV(cid:3)LV IXQFWLRQ 7\SHB’HFODUDWLRQB9LHZ (cid:11)’HFODUDWLRQ(cid:3)(cid:29)(cid:3)LQ(cid:3)(OHPHQW(cid:12)(cid:3)UHWXUQ(cid:3)(OHPHQW(cid:30) (cid:17)(cid:17)(cid:17) HQG $VLV(cid:17)’HFODUDWLRQV(cid:30) ASIS application: ZLWK $VLV(cid:15)(cid:3)$VLV(cid:17)’HFODUDWLRQV(cid:30)(cid:17)(cid:17)(cid:17) SURFHGXUH $6,6B7RRO(cid:3)LV ((cid:20)(cid:15)(cid:3)((cid:21)(cid:3)(cid:29)(cid:3)$VLV(cid:17)(OHPHQW(cid:30) EHJLQ (cid:17)(cid:17)(cid:17) ((cid:20)(cid:3)(cid:29) (cid:3)7\SHB’HFODUDWLRQB9LHZ(cid:3)(cid:11)((cid:21)(cid:12)(cid:30) (cid:17)(cid:17)(cid:17) HQG $6,6B7RRO(cid:30) (cid:26) HH oo ww iitt wwoorrkkss?? 44 CCoonnssiiddeerr aa ccoommpplleettee eexxaammppllee ooff ddeevveellooppiinngg aanndd uussiinngg aa ssiimmppllee AASSIISS ttooooll -- aa SSttyyllee CChheecckkeerr;; 44 TTeecchhnniiccaall rreeqquuiirreemmeennttss ffoorr aa ssttyyllee cchheecckkiinngg ttooooll:: –– AA sseett ooff rruulleess ttoo cchheecckk iinncclluuddeess tthhee ffoolllloowwiinngg rruulleess:: •• mmuullttii--iiddeennttiiffiieerr ddeeccllaarraattiioonnss aarree nnoott aalllloowweedd;; •• eevveerryy ssuubbpprrooggrraamm bbooddyy ((oorr bbooddyy ssttuubb)) sshhoouulldd hhaavvee aa sseeppaarraattee ssppeecc;; –– SSoommee mmoorree rruulleess mmaayy bbee aaddddeedd llaatteerr;; –– AAllll ““uusseerr--ddeeffiinneedd”” AAddaa ccoommppoonneennttss iinn aa ggiivveenn eennvviirroonnmmeenntt sshhoouulldd bbee cchheecckkeedd;; (cid:27) SSttyyllee CChheecckkeerr -- TTooooll DDeevveellooppeerr’’ss nneeeeddss 44 ttoo ggeett aa hhaannddllee ttoo aa sseett ooff ccoommppoonneennttss ((oorr ttoo aann eennvviirroonnmmeenntt)) ttoo pprroocceessss;; ttoo mmaakkee aa ddiiffffeerreennccee bbeettwweeeenn pprreeddeeffiinneedd,, 44 iimmpplleemmeennttaattiioonn--ssppeecciiffiicc aanndd uusseerr--ddeeffiinneedd uunniittss;; ttoo ggoo ffrroomm aa uunniitt iinnttoo iittss ssttrruuccttuurree;; 44 ttoo ttrraavveerrssee aann AAddaa ccooddee,, aanndd ttoo cchheecckk ssoommee 44 ssppeecciiffiicc rruulleess ffoorr ssoommee ssppeecciiffiicc ccoonnssttrruuccttss;; ttoo pprroovviiddee mmaaiinnttaaiinnaabbllee aanndd eexxtteennddaabbllee ccooddee;; 44 (cid:28) MM aaiinn AASSIISS aabbssttrraaccttiioonnss 44 CCoonntteexxtt –– aa llooggiiccaall hhaannddllee ffoorr aann AAddaa eennvviirroonnmmeenntt;; 44 CCoommppiillaattiioonn__UUnniitt –– aa llooggiiccaall hhaannddllee ffoorr aann AAddaa ccoommppiillaattiioonn uunniitt aass wweellll aass ffoorr aa pphhyyssiiccaall oobbjjeecctt ttrreeaatteedd aass tthhiiss uunniitt bbyy aann uunnddeerrllyyiinngg AAddaa iimmpplleemmeennttaattiioonn;; 44 EElleemmeenntt –– aa llooggiiccaall hhaannddllee ffoorr AAddaa ssyynnttaaxx ccoonnssttrruuccttss;; TTooooll ddeevveellooppeerr’’ss nneeeeddss iinn AA SSIISS (cid:20)(cid:19) tteerrmmss:: 44 ttoo ddeeffiinnee aanndd ttoo pprroocceessss aann aapppprroopprriiaattee AASSIISS CCoonntteexxtt;; 44 ttoo ggeett AASSIISS CCoommppiillaattiioonn UUnniittss ffrroomm tthhee CCoonntteexxtt;; 44 ttoo aannaallyyzzee AASSIISS CCoommppiillaattiioonn UUnniittss pprrooppeerrttiieess;; 44 ttoo uussee ggaatteewwaayyss ffrroomm AASSIISS CCoommppiillaattiioonn UUnniittss iinnttoo AASSIISS EElleemmeennttss;; 44 ttoo aannaallyyzzee AASSIISS EElleemmeennttss hhiieerraarrcchhyy rreepprreesseennttiinngg iinn AASSIISS tthhee ggiivveenn CCoommppiillaattiioonn UUnniitt;;
Description: