Koodin liikkuvuus - Code mobility

On jaettu laskenta , koodi liikkuvuus on kyky käynnissä ohjelmia , koodi tai esineet siirtää (tai siirretty) yhdestä koneen tai sovelluksesta toiseen. Tämä on siirtymässä mobiili koodi poikki solmujen verkon toisin kuin hajautetun laskennan, jossa data on siirretty.

Hajautetuissa järjestelmissä on yleinen käytäntö vaatia koodin tai prosessien siirtämistä järjestelmän osien välillä tietojen sijaan.

Esimerkkejä koodin liikkuvuudesta ovat verkon kautta ladatut komentosarjat (esimerkiksi JavaScript , VBScript ), Java-sovelmat , ActiveX-komponentit , Flash-animaatiot , Shockwave-elokuvat (ja Xtras) ja Microsoft Office -asiakirjoihin upotetut makrot .

Yleiskatsaus

Koodin liikkuvuuden tarkoituksena on tukea kehittyneitä toimintoja. Esimerkiksi sovellus voi lähettää objektin toiselle koneelle, ja objekti voi jatkaa suorittamista sovelluksen sisällä etäkoneessa samassa tilassa kuin alkuperäisessä sovelluksessa.

Fuggettan, Piccon ja Vignan ehdottaman luokituksen mukaan koodin liikkuvuus voi olla joko voimakasta tai heikkoa: vahvaan koodin liikkuvuuteen kuuluu sekä koodin , datan että suoritustilan siirtäminen isännästä toiseen, etenkin prosessikuvan kautta (tämä on tärkeää tapauksissa, joissa käynnissä olevan sovelluksen on ylläpidettävä tilaa siirtyessään isännästä isäntään), kun taas heikko koodin liikkuvuus edellyttää vain koodin ja datan siirtämistä. Siksi saattaa olla tarpeen aloittaa ohjelman suorittaminen uudelleen kohde-isännässä.

Koodiliikkuvuudessa on useita paradigmoja tai arkkitehtonisia tyylejä :

  • Etäarviointi - Asiakas lähettää koodin etäkoneelle suoritettavaksi.
  • Koodi pyydettäessä - Asiakas lataa koodin etäkoneelta suoritettavaksi paikallisesti.
  • Mobiiliagentit - Esineet tai koodi, joilla on mahdollisuus siirtyä koneiden välillä itsenäisesti.

Toteutukset

Koodiliikkuvuudessa mobiiliagentin paradigma on tavallisesti herättänyt eniten kiinnostusta ja tutkimusta, mutta eräs viimeaikainen työ on tuottanut yleiskäyttöisiä toteutuksia.

Mobiiliagenttikehykset

Mobiilikoodi voidaan myös kapseloida tai upottaa muihin tiedostomuotoihin, joita ei perinteisesti yhdistetä suoritettavaan koodiin. Esimerkki tästä kapselointimuodosta on JavaScriptin esiintyminen PDF-tiedostossa .

Virukset

Mobiilikoodi voi myös ladata ja suorittaa asiakastyöasemalla sähköpostitse. Mobiilikoodi voidaan ladata sähköpostin liitetiedoston (esim. Makro Word-tiedostossa) tai HTML-sähköpostirungon (esim. JavaScript) kautta. Esimerkiksi ILOVEYOU- , TRUELOVE- ja AnnaK-sähköpostivirukset / madot kaikki toteutettiin mobiilikoodina (VBScript .vbs-sähköpostiliitteenä, joka suoritettiin Windows Scripting Hostissa). Lähes kaikissa tilanteissa käyttäjä ei tiedä, että mobiilikoodi lataa ja suorittaa heidän työasemassaan.

Vuokrakoodi

Mobiilikoodilla viitataan myös koodiin "käytetään vuokraan", tapaan tehdä ohjelmistopaketeista edullisempia. eli käyttää tarvittaessa. Tämä on erityisen tärkeää kehitettäville mobiililaitteille, jotka ovat matkapuhelimet, kämmentietokoneet jne. Kaikki yhdessä. Ohjelmistopakettien asentamisen sijaan ne voidaan "vuokrata" ja maksaa käyttökohtaisesti.

Katso myös

Viitteet

  1. ^ a b c d Fuggetta, Alfonso; Gian Pietro Picco; Giovanni Vigna (1998). "Koodin liikkuvuuden ymmärtäminen" . IEEE-transaktiot ohjelmistotuotannossa . 24 (5): 342–361. CiteSeerX  10.1.1.20.3442 . doi : 10.1109 / 32.685258 . ISSN  0098-5589 . Haettu 29. heinäkuuta 2009 .
  2. ^ Tohtori Lawrie Brown. "Mobiilikoodin suojaus" . Australian puolustusvoimien akatemia. Arkistoitu alkuperäisestä 3. huhtikuuta 2012 . Haettu 23. huhtikuuta 2012 .
  3. ^ Carzaniga, Antonio; Gian Pietro Picco; Giovanni Vigna (2007). Onko koodi edelleen liikkumassa? Katse takaisin vuosikymmeneen koodiliikkuvuudesta . ICSE COMPANION '07 Companion to the Proceedings of the 29th International Conference on Software Engineering . Washington, DC, USA: IEEE Computer Society. s. 9–20. CiteSeerX  10.1.1.119.5295 . doi : 10.1109 / ICSECOMPANION.2007.44 . ISBN 978-0-7695-2892-2.
  4. ^ "Mobility-RPC - Saumaton koodiliikkuvuus ja RPC Java-alustalle" . Haettu 15. kesäkuuta 2012 .
  5. ^ "Mobile-C: Multi-Agent Platform for Mobile C / C ++ Agents" . Haettu 15. kesäkuuta 2012 .
  6. ^ "Acrobat JavaScript -määritys" (PDF) . Haettu 18. marraskuuta 2009 .