az internet ablakok Android

Az eszközök és a szoftverfejlesztési környezet megválasztásának igazolása. CPU automatizált menedzsment rendszerek és ipari biztonság

Az integrált fejlesztési környezet (IPR) a fejlesztési programozók által használt szoftvereszköz-rendszer. szoftver. BAN BEN angol nyelv Ezt a környezetet integrált fejlesztési környezetnek vagy rövidített IDE-nek nevezik.

Az IPR általában tartalmaz egy szövegszerkesztőt, fordítót, tolmácsot, szoftverfejlesztést és összeszerelést és hibakeresőt. Néha tartalmaz eszközöket a verzióvezérlő rendszerekkel való integrációhoz és a különböző eszközökkel való integrációhoz, hogy egyszerűsítse a grafikus felhasználói felület kialakítását. Számos modern fejlesztési környezet is tartalmazza a programozási osztályok ablakát, az objektumfelügyelőt és az osztályok hierarchiáját - az objektumorientált szoftverfejlesztéshez. A legtöbb modern ISR-t úgy tervezték, hogy egyidejűleg több programozási nyelven dolgozzanak ki.

Az IPR-vizuális fejlesztési környezet egyik különleges esete, amely magában foglalja a program felületének vizuális szerkesztésének lehetőségét.

A főablak a szövegszerkesztő, amely a belépéshez használható forráskód Az IPR-ben, és a szövegfájlok karaktersorozatokkal való együttműködésre összpontosított. Az ilyen szerkesztők fejlett funkcionalitást biztosítanak - a szintaxis kiemelése, válogató karakterláncok, minták, minták, konverzió, szimbólumkódok stb.

A szintaxis kiemelés kiemeli a szöveges szintaktikai terveket különböző színekkel, betűtípusokkal és formatervezéssel. Általában a szövegszerkesztőkben alkalmazzák a forrásszöveg olvasását, a vizuális érzékelés javítását. Gyakran használják az interneten található forráskód kiadáskor.

A műsorszórás, a fordító és a tolmács fogalmát a korábbi előadásokban adták meg.

Az egyik leginkább fontos részek ISR - Debugger, amely egy fejlesztési környezeti modul vagy egy különálló alkalmazás, amely hibákat keres a programban. A hibakereső lehetővé teszi, hogy lépésenkénti nyomkövetést, nyomon követhesse, telepítse vagy módosítsa a változók értékeit a program végrehajtása, telepítése és törlése a vezérlőpontok vagy a leállítási feltételek stb.

A leggyakoribb bejárók:

- GNU Debugger - Debugger programok a GNU projektből;

- IDA - Cserélő és alacsony szintű hibakereső a Windows és GNU / Linux családi operációs rendszerekhez;

- Microsoft. Vizuális Stúdió. - szoftverfejlesztési környezet, beleértve a Microsoft hibakeresést;

- Ollydbg egy ingyenes alacsony szintű hibakereső a Windows operációs rendszerekhez;

- Softice - alacsony szintű hibakereső a Windows operációs rendszerekhez;

- Dr. Watson - A szabványos Windows hibakeresés lehetővé teszi a memóriakártyák létrehozását;

- A WindbG ingyenes hibakereső a Microsofttól.

A fő hibakeresési folyamat nyomon követhető. A nyomkövetés lépésről lépésre program végrehajtásának folyamata. Nyomkövetési módban a programozó látja a parancsok végrehajtásának sorrendjét és a változók értékét ezen a program lépésben, ami megkönnyíti a hibák észlelését. A nyomkövetés elindítható és véget vethet a programban bárhol, a program végrehajtása minden egyes parancson leállhat, vagy a stoppontokon a nyomon követés az eljárás / funkcióban és meglátogatás nélkül is elvégezhető.

A közép- és nagy komplexitási projektek közös fejlesztésével rendelkező legfontosabb IPR modul a verzióirányítási rendszer. Version Control System (angol rövidítés CVS) - szoftver, hogy megkönnyítse az információcserét. Lehetővé teszi, hogy tárolhassa ugyanazon dokumentum néhány verzióját, ha szükséges, visszatérjen a korábbi verziókhoz, határozza meg, ki és mikor történt egy vagy egy másik változás.

Az ilyen rendszereket leginkább széles körben használják a szoftver fejlesztése során, hogy tárolják a fejlesztés forráskódját. Azonban sikeresen alkalmazható más olyan területeken, ahol a munka nagyszámú folyamatosan változó elektronikus dokumentummal folyamatban van, különösen a CAD-ben, általában a termékmenedzsment rendszerek részeként. A konfigurációs menedzsment eszközökben használt verziókezelés különböző eszközök és rendszerek.

Országunkban lehetséges a nagyszámú nagyméretű projektek számának köszönhetően, a verziók kontrollrendszerei nem kaptak elosztást, annak ellenére, hogy azok felhasználása kulcsfontosságú a nagy projektek sikeres végrehajtásához. Ebben a tekintetben többet fogunk összpontosítani az IPR ezen jellemzőjére.

A legtöbb verzió vezérlőrendszerek központi modellt használnak, ha egy speciális kiszolgáló által kezelt egyetlen dokumentumtár, amely a legtöbb verzió menedzsment funkcióit teljesíti. A dokumentumokkal dolgozó felhasználónak először meg kell szereznie a dokumentum verzióját a szükséges tárolóból; A dokumentum helyi példánya általában létrejön, az úgynevezett "munkafolyamat". A legfrissebb verzió vagy a korábban kiválasztott változat vagy a létrehozás időpontja, néha más funkciók esetében is beszerezhető. Miután a szükséges módosítások a dokumentumhoz készültek, az új verzió a tárolóba kerül. Az egyszerű mentő fájltól eltérően az előző verzió nem törlődik, és a tárolásban is marad, és bármikor beszerezhető. A szerver használhatja a Delta tömörítést - olyan módszert, amely olyan dokumentumok tárolására szolgál, ahol csak a soros verziók közötti változások mentésre kerülnek, ami csökkenti a tárolt adatok mennyiségét.

Előfordul, hogy a megalakult az új verzió végre észrevétlenül a felhasználó számára (átlátszó) - akár olyan alkalmazást, amely beépített támogatást egy ilyen funkció, vagy egy speciális fájlrendszer. Az utóbbi esetben a felhasználó csak szokásos módon működik, és a fájl mentésekor egy új verzió automatikusan létrejön.

Gyakran előfordul, hogy több ember egyszerre dolgozik egy projekten. Ha két ember ugyanazt a fájlt változtatja meg, akkor az egyikük véletlenül visszavonhatja a mások által végzett változásokat. Verzióvezérlési rendszerek nyomon követik az ilyen konfliktusokat, és eszközöket kínálnak azokat. A legtöbb rendszer automatikusan kombinálhatja (egyesíti) a különböző fejlesztők által végzett változtatásokat. Azonban a változások automatikus egyesülése általában csak szöveges fájlok esetében, majd csak akkor, ha megváltoztatja a fájl különböző (lakott) részeit. Az ilyen korlátozás annak a ténynek köszönhető, hogy a legtöbb verzió irányítási rendszer a szoftverfejlesztési folyamat támogatására koncentrál, és a forrásprogramkódok szöveges fájlokban vannak tárolva. Ha az automatikus egyesület sikertelen, a rendszer manuálisan javasolja a probléma megoldását.

Gyakran az egyesítéseket nem lehet automatikusan konfigurálni, sem kézi üzemmódban, például ha a fájlformátum túl bonyolult vagy ismeretlen. Egyes verziók vezérlőrendszerek lehetővé teszik a fájl letiltását a tárolóban. A reteszelés nem teszi lehetővé a többi felhasználó számára, hogy működjenek egy munkamódszert, vagy megakadályozzák a fájl működési példányának módosítását (például a fájlrendszer eszközöket), és így kivételesen hozzáférést biztosítanak a dokumentummal, aki a dokumentummal dolgozik.

A verzióvezérlő rendszer egyéb jellemzői:

Egy dokumentumágazat különböző változatainak létrehozásakor, az ágon és a különböző dolgokkal végzett változások általános történeteivel.

Naplómenedzsment, ahol a felhasználók rögzíthetik a magyarázatokat arról, hogy mit és miért változott ebben a verzióban;

Ellenőrzi a felhasználói hozzáférési jogokat, megoldja vagy tiltja az olvasást vagy az adatcserét attól függően, hogy ki kéri ezt a műveletet.

Egy külön osztály az elosztott verziók vezérlőrendszerei. Az ilyen rendszerek hagyományos ügyfél-kiszolgáló helyett elosztott modellt használnak. Általánosságban elmondható, hogy nem kell egy központi tárolása: az egész történelem változások a dokumentumokat tárolják minden számítógépen, a helyi tároló, és ha szükséges, egyes darabjai a történelem helyi tároló szinkronban vannak hasonló tárolás másik számítógép. Néhány ilyen rendszerben a helyi tároló közvetlenül a munkáshelyes másolási könyvtárakban található.

Ha az ilyen rendszer felhasználója szokásos intézkedéseket hajt végre, például a dokumentum konkrét változatainak lekérése, új verzió és hasonlók létrehozása, a helyi adattár másolatával működik. Mivel a különböző fejlesztőkhöz tartozó tárolási változások elkészülnek, eltérőek, és szükség van szinkronizálásra. Az ilyen szinkronizálás elvégezhető a foltok megosztásával vagy az úgynevezett változó készletek (ENG. Változó készletek) a felhasználók között.

Az elosztott rendszerek fő előnye a rugalmasság. Minden fejlesztő önállóan működhet, mivel ez kényelmes, a köztes dokumentumok megőrzése és az eredmények továbbítása más résztvevőknek, ha szükségesnek tartja. Ebben az esetben a cserélési készletek cseréje elvégezhető különböző rendszerek. Kis csoportokban, a munka a résztvevők kicserélik változások a „minden egyes” elv, ami miatt nincs szükség, hogy hozzon létre egy dedikált szerver. Egy nagy közösség, éppen ellenkezőleg, központosított kiszolgálót használhat, amellyel minden résztvevő másolatát szinkronizálják. Bonyolultabb lehetőségek is lehetségesek, például a nagyobb projektben lévő egyes területeken működő munkák létrehozásával.

A verzióvezérlő rendszerek használatához saját rendszerek terminológiáját kell használni. Nincsenek elfogadott terminológia, különböző nevek használhatók különböző rendszerekben ugyanazon műveletekhez.

Az alábbiakban néhány leggyakrabban használt lehetőség. Annak a ténynek köszönhetően, hogy a rendszereket az angol nyelvű közösség fejlesztette ki, és az orosz nyelvű terminológiát még fejlesztették ki, az angol kifejezéseket használják.

Ág (ág) - a fejlesztés iránya, másoktól függetlenül. Az ág az adattár egy részének (általában egy könyvtárának) egy példánya, amely olyan változásokból készülhet, amelyek nem befolyásolják más ágakat. A különböző ágakban lévő dokumentumok ugyanazt a történetet tartalmazzák az ágpontnak és másnak - utána.

bejelentkezés, kötelezettség, benyújtás - Új verzió létrehozása, módosítások közzététele. A munkadarabban végzett módosítások terjesztése a dokumentumtárba. Ugyanakkor a tároló létrehozza a módosított dokumentumok új verzióját.

C. heck-out, klón - dokumentum kivonása a tárolóból és létrehoz egy munkamenetet.

C. onflict - konfliktusos helyzet, amikor több felhasználó változtatta meg a dokumentum ugyanazon területét. A konfliktus érzékel az esetben, ha egy felhasználó már közzé is tette változások, a második csak megpróbálja közzé őket, és maga a rendszer nem tudja helyesen csatorna a ellentmondó módosításokat. Mivel a program nem lehet elég ésszerű ahhoz, hogy meghatározza, hogy melyik változás "helyes", a második felhasználónak meg kell oldania a konfliktust (megoldás).

M. erge, integráció (egyesülés) - A független módosítások egyesítése a dokumentum egyetlen változatában. Végezzük el, ha két ember ugyanazt a fájlt változtatta meg, vagy ha az egyik ágból a másikra változik.

R. epository - egy hely, ahol a változat rendszer tárolja az összes dokumentumot, valamint a történelem, hogy a változás és egyéb szolgáltatások.

R. evision. Version Control Systems megkülönbözteti az automatikusan hozzárendelt változat verziókat.

T. aG, címke (címke) - amely a dokumentum konkrét verziójának rendelhető. A címke egy dokumentumcsoport szimbolikus neve, és nemcsak a fájlnevek sorát írja le, hanem az egyes fájlok felülvizsgálatát is. A dokumentumok címkéjén szereplő felülvizsgálatok különböző időpontokhoz tartozhatnak.

T. a rúgás, a fővonal (törzs) a projektfejlesztés fő ága. A törzsével való munkahelypolitika eltérhet a projektet a projekthez, de általában a következők: a legtöbb változás a hordóban történik; Ha komoly változás szükséges, akkor az instabilitáshoz vezethet, egy fióktelep jön létre, amely az innovációt kell elvégezni, ha az innovációt kellően tesztelni kell; A következő verzió felszabadítása előtt létrejön egy "kiadás" ág, amelyben csak a korrekciók készülnek.

U. pDATE, SYNC (frissítés, szinkronizálás) - A munkadarab szinkronizálása a tároló egyes meghatározott állapotára. Leggyakrabban ez a cselekvés azt jelenti, hogy frissít egy munkahelyet a nagyon friss tárolási állapotra. Szükség esetén azonban szinkronizálhat egy munkamódszert és egy régebbi állapotot, mint a jelenlegi.

W. orking Másolás (Munka másolat) - Munka (helyi) dokumentumok másolata.

Tekintsük a leginkább megfizethető és népszerű változatok példájára a szellemi tulajdonjogok lehetőségét.

Eclipse (angolul. Eclipse) ingyenes integrált fejlesztési környezet a moduláris platform alkalmazásokhoz (69. ábra). A nonprofit szervezet Eclipse Alapítvány (http://www.eclipse.org/) kifejlesztette és támogatta.

Eredetileg az Eclipse-t az IBM fejlesztette ki, mint vállalati IPR-szabványt a fejlesztéshez különböző nyelvek a vállalat platformjai alatt. Az IBM, a tervezés és a fejlesztés szerint 40 millió dollárba kerül. A forráskód teljesen nyitott volt, és az Eclipse után az IBM független közösség továbbfejlesztésére került sor.

Az OSGI és az SWT / JFACE keretrendszer az Eclipse-en alapul, a következő réteg - RCP (Rich Client platform, platform, amely teljes körű ügyfélalkalmazások fejlesztéséhez). Az RCP nem csak az Eclipse, hanem más RCP alkalmazásokhoz, például azureus és a fájlrendező számára is alapul szolgál. A következő réteg maga az Eclipse maga, amely RCP kiterjesztések: szerkesztők, panelek, kilátások, CVS modul és Java fejlesztési eszközök modul (JDT).

Eclipse - Először is, egy teljes Java ICR, amelynek célja a csoportfejlesztés: A CVS támogatás az Eclipse kínálatában található, több SVN modul aktívan fejlődik, támogatja a VSS-t és másokat. A szabad és a kiváló minőségű, az Eclipse számos szervezetben a vállalati szabvány az alkalmazások fejlesztéséhez.

Az Eclipse második célja, hogy platformként szolgáljon az új kiterjesztések kialakításának platformjaként, mint amit népszerűsége megszerzett: bármely fejlesztő a modulokkal bővítheti az Eclipse-t. Vannak már a C / C ++ fejlesztő eszközök (CDT) által kifejlesztett QNX mérnökök „IBM”, és eszközöket COBOL, Fortran, PHP nyelv és mások a különböző fejlesztők. Számos kiterjesztés kiegészíti az Eclipse szerdán a vezetők számára, hogy dolgozzon az adatbázisokkal, az alkalmazáskiszolgálókkal stb.

69. ábra. . A főablak interfész Eclipse

Az Eclipse-t Java-ban írták, ezért platformfüggetlen termék, kivéve az SWT könyvtárat, amelyet minden közös platformra fejlesztettek ki. Az SWT könyvtárat a Java szabványos swing könyvtár helyett használják. Teljesen az alapul szolgáló platformra (operációs rendszerre) támaszkodik, amely sebességet és természetes megjelenés Felhasználói felület, de néha a különböző platformok kompatibilitását és fenntarthatóságát okozza.

Az Eclipse alapja a kiterjesztett ügyfélplatform (RCP az angolról. Rich Client Platform). Összetevőinek:

OSGI (standard készlet készlet készlet (eng. Kötegek));

SWT (hordozható widget toolkit);

JFACE (fájlpufferek, szöveges, szövegszerkesztők);

Munkahelyi környezet Eclipse (panelek, szerkesztők, előrejelzések, mesterek).

Egy másik népszerű ingyenes ISR a kdevelop (http://www.kdevelop.org, 70. ábra). Kdevelop (ENG. KDEVELOD) - Ingyenes szoftverfejlesztési környezet UNIX-szerű operációs rendszerekhez. A projekt 1998-ban kezdődött. A KDevelop a GNU-licenc (általános nyilvános licenc) szerint érvényes.

70. ábra. Interfész kdevelop

A KDevelop nem tartalmazza a fordítót, hanem bármely fordítót használ, hogy létrehozzon egy végrehajtható kódot.

A jelenlegi stabil verzió támogatja nagyszámú Programozási nyelvek, mint a pokol, bash, C, C ++, Fortran, Java, Pascal, Perl, PHP, Python, Ruby és SQL.

A CDEVELH A beépített komponenst használja - egy szövegszerkesztő - a KParts technológián keresztül. A főszerkesztő Kate.

Funkciók kdewelop:

A forráskód megvilágítása, figyelembe véve a használt programozási nyelv szintaxisát, amelyet automatikusan meghatároznak;

A projektmenedzser különböző típusú projektekhez, például az Automake-hoz, a QT és a hangya technológiákon alapuló projektek számára a Java alapján alapuló projektek számára;

Osztály navigátor (osztályböngésző);

Front-end for GNU Compiler Collection;

Front-end for GNU hibakereső;

Osztályok és platform (keret) generálásához és frissítéséhez;

Automatikus kód befejezési rendszer (SI / C ++);

Beépített támogatás a forráskód dokumentációs rendszerének (Doxygen) számára;

Az egyik változat vezérlőrendszerek: SCM, CVS, Subversion, Perforce és ClearCase;

A Quick Open funkció lehetővé teszi, hogy gyorsan navigáljon a fájlokon keresztül.

Kdevelop Ez egy "plug-in" architektúra. Ha a fejlesztő módosítja, akkor csak a plugint kell összeállítani. Lehetőség van olyan profilok mentésére, amelyek jelzik, hogy melyik bővítményeket kell betölteni.Kdevelop nem a beépített szöveg szerkesztő, Pluginként van csatlakoztatva.Kdevelop Nem függ a programozási nyelvtől és a platformtól, amelyen elkezdődik, támogatja a KDE-t, a gnome-t és sok más technológiát (például QT, GTK + és Wxwidgets).

Beépített hibakeresőKdevelop Lehetővé teszi, hogy grafikusan dolgozzon az összes hibakereső eszközzel, például töréspontokkal és nyomon. Dinamikusan tölthető bővítményekkel is dolgozhat, ellentétben a Konzol GDB-vel.

Jelenleg körülbelül 50-100 plug-in van az IDE. A leghasznosabb - tartós projekt-széleskódos könyvjelzők közül, kód rövidítések, lehetővé téve, hogy gyorsan telepítse a szöveget, a forrásformatter-t, amely a Stílusos útmutató szövegét, rendszeres kifejezések és projekt-széles keresés / csere.

A legutóbbi ICRMicrosoft Visual Studio. (Microsoft Visual Studio, 71. ábra). Valójában,Microsoft Visual Studio. ez a Microsoft termékei, amely integrált szoftverfejlesztési környezetet és számos más eszközt tartalmaz.


71. ábra. Microsoft Visual Studio interfész

Microsoft Visual Studio. Tartalmaz egy vagy több alkatrészt a következőkből: Visual Basic.net, Visual C ++, Visual C #, Visual F #, Microsoft SQL. Szerver, Visual Interdev, Visual J ++, Visual J #, Visual Foxpro., Vizuális forrás biztonságos.

A Microsoft Visual Studio egyik fő előnye jó minőség A fejlesztés és a leírás folyamatának dokumentálása lehetséges problémák Az MSDN könyvtárban. Azonban a fejlődés bonyolultságainak legérdekesebb része csak angolul létezik.

A Microsoft ingyenes analógot is kínál a Visual Studio Express termékről.

Jelenleg az egyes programozási rendszer, nem külön eszközöket (például compiler) van társítva valamilyen logikailag összefüggő sor szoftver és hardver eszközök fejlesztésének támogatása és támogatása PS ebben a programozási nyelv vagy munkavégzés bármely adott területre. Egy ilyen összessége hívja instrumentális környezet a PS fejlesztéséhez és karbantartásához. Az ilyen instrumentális környezetek esetében jellemző, elsősorban a szoftver- és hardvereszközök, másodszor, másrészt egy bizonyos orientáció vagy egy adott programozási nyelv, vagy egy adott témakör.

A szerszámközegnek nem kell működnie a számítógépen, amelyen a kifejlesztett PS-t alkalmazzák. Gyakran előfordul, hogy az ilyen kombináció nagyon kényelmes (még ha csak a hatalom a használt számítógép ezt lehetővé teszi): Nem szükséges foglalkozni a számítógépek különböző típusú, a komponensek a szerszám közeg tartalmazza a PS fejlesztettek ki. Ha azonban az a számítógép, amelyen a PS-t alkalmazni kell, nem áll rendelkezésre e PS fejlesztői számára (például folyamatosan más munkát végez, amelyet nem lehet megszakítani, vagy még folyamatban van), vagy a fejlődés kényelmetlensége A PS vagy a számítógép hatalma nem elegendő a szükséges szerszámközeg működéséhez, majd az úgynevezett szerszám objektum megközelítés. Ennek lényege, hogy a PS-t egy számítógépen fejlesztették ki, hívják hangszeresés egy másik számítógépre fogják alkalmazni cél(vagy tárgy).

Három fő osztályú instrumentális média és PS karbantartása (16.1. Ábra): ·

programozási környezet, ·

számítógépes technológiai munkahelyek, ·

programozási technológia instrumentális rendszerek.

Programozási környezetez elsősorban a programozási folyamatok (kódolás), a tesztelés és a hibakeresés támogatására szolgál. Számítógépes technológia munkahelya PS (specifikációk) fejlesztésének korai szakaszainak támogatására összpontosították, valamint a műszaki adatok automatikus generációját. Programozási technológiai eszközrendszercélja, hogy támogassa a fejlesztési és karbantartási folyamatokat a PS teljes életciklusában, és a nagy élettartamú nagy szoftverrendszerek kollektív fejlődésére összpontosuljon. Az ilyen rendszerek esetében a kíséret költsége általában meghaladja a fejlődés költségeit.

Ábra. 16.1. A PS fejlesztésére és karbantartására szolgáló instrumentális környezetek fő osztályai.

  1. Instrumentális programozási környezetek.

A programozási eszközkörnyezet elsősorban olyan szövegszerkesztőt tartalmaz, amely lehetővé teszi a programozási nyelvek programozását, olyan eszközöket, amelyek lehetővé teszik a programok összeállítását vagy értelmezését ezen a nyelven, valamint tesztelni és hibakeresés a kapott programokat. Ezenkívül lehetnek más eszközök, például statikus vagy dinamikus programelemzés esetén. Ezek az eszközök kölcsönhatásba lépnek egymással a szokásos fájlrendszerek használatával.

A következő programozási szerszámsözegek a következő osztályok különböztetik meg (lásd a 14.2 ábrát): ·

Általános területek, ·

nyelvorientált környezet.

Programozási eszköz környezet Általános rendeltetésűtartalmaz egy olyan szoftvereszközöket, amelyek támogatják a programfejlesztést különböző programozási nyelveken (például szövegszerkesztő, linkszerkesztő vagy célszámítógépes nyelvi tolmács), és általában a használt képességek bővítését képviselik operációs rendszer. Ilyen környezetben történő programozáshoz minden programozási nyelv további eszközöket igényel ezen a nyelvhez (például a fordító).

1. ábra. A programozási eszköz média besorolása.

Nyelvorientálta programozási eszköz környezet célja, hogy támogassa a PS bármelyik programozási nyelv és a tudás ezen a nyelven szignifikánsan kialakításához használt ilyen környezetben. Ennek eredményeképpen elegendően hatékonyabb lehetőségek lehetnek, amelyek figyelembe veszik az ilyen médiumok jellemzőit. ebből a nyelvből. Az ilyen környezetek két alosztályra vannak osztva: ·

Értelmező média, ·

szintaktikailag ellenőrzött környezetek.

Tolmácsolása programozási eszköz környezet biztosítja a programozási nyelv programjainak értelmezését, azaz Először is, a programozási nyelv tolmács, amelyen ez a környezet irányul. Ez a környezet az értelmező típus (például LISP) programozási nyelvekhez szükséges, de más nyelveken is használható (például egy szerszámszámítógépen). Szintaxis-kezelta programozási eszköz környezete a programozási nyelv szintaxisán alapul, amelyre orientált. Ilyen környezetben egy szöveg helyett egy szintaxis-kezelt szerkesztőt használnak, lehetővé téve a felhasználó számára, hogy különböző szintaktikai struktúrákat használjon (ennek eredményeképpen a fejlesztendő program mindig szintaktikailag helyes). Ezzel párhuzamosan a programmal egy ilyen szerkesztőformák (a számítógép memóriájában) szintaxisfa, amelyet más eszközök használhatnak.

A makefile megjelenése az első lépés a programozási rendszerek létrehozásához. A makefile nyelv lett szabványeszközökEgységes az összes fejlesztő fordítói számára. Kényelmes volt, de meglehetősen bonyolult volt műszaki jogorvoslatnagyfokú előkészítést és szakmai ismereteket igényel a fejlesztőtől, mivel maga a parancsnyelvi makefile hasonló volt egyszerű nyelv Programozás.

A fejlesztési eszközök ilyen szerkezete elég volt hosszú idejeBizonyos esetekben ezt a napot használják (különösen a rendszerprogramok létrehozásakor). Széles körben elterjedt annak a ténynek köszönhető, hogy a fejlesztési eszközök teljes szerkezete nagyon kényelmes volt a számítógépen lévő programok teljesítéséhez, amely hozzájárult a nagykereskedelmi korszakban a Mainframe korszakban UNIX típusú operációs rendszerekkel.

4.5. Integrált fejlesztési környezetek

  1. A Visual Studio 97 a Visual Studio első kiadott verziója. Először a szoftverek fejlesztésének különböző eszközeit összegyűjtötték. A rendszert két változatban szabadították fel: Professional és Enterprise. Ez magában foglalja a Visual Basic 5.0, a Visual C ++ 5.0, a Visual J ++ 1.1, a Visual FoxPro 5.0, az első megjelent ASP fejlesztési környezet - Visual Interdev. Visual Studio 97 volt az első Microsoft kísérel meg létrehozni egy környezet fejlesztése a különböző programozási nyelvek: Visual C ++, Visual J ++, Visual InterDev és MSDN használt egyik környezetből úgynevezett Developer Studio. Visual Basic és Visual FoxPro alkalmazott egyéni fejlesztési környezetek.
  2. A Visual Studio 6.0 1998 júniusában jött ki. Ez a Visual Studio legújabb verziója, amely a Win9x platformon működik. Még mindig népszerűek a programozók körében a vizuális alapon. Ez a verzió volt a fő környezet, amely a Windows Windows alatt működő alkalmazások fejlesztésére szolgál, mielőtt az 5.net-platform megjelenik.
  3. Visual Studio .NET (Rainier Code Name, Belső 7.0 verzió) kiadott 2002 februárjában (beleértve a .NET-keretrendszer 1.0). Szervizcsomag 1 a Visual Studio .NET (2002) 2005 márciusában megjelent
  4. Visual Studio .NET 2003 (kód neve Everett, Belső 7.1 verzió) megjelent 2003 áprilisában (tartalmaz .NET-keretrendszer 1.1. Service Pack 1 a Visual Studio .NET 2003 megjelent 2006. szeptember 13-án
  5. Visual Studio 2005 (kódnév Whidbey; Belső 8.0 verzió) adták át a 2005. október végéig, az utolsó hivatalosan működő Windows 2000 (tartalmazza a .NET Framework 2.0). 2005. november elején számos terméket is megjelentek az Express: Visual C ++ 2005 Express, Visual Basic 2005 Express, Visual C # 2005 Express stb. 2006. április 19-én kifejezett szerkesztői volt. Szervizcsomag 1 a VS2005 és az összes expressz-kiadás 2006. december 14-én. További tapasz az SP1 számára, döntő probléma Kompatibilitás S. Windows Vista. 2007. március 6-án megjelent
  6. A Visual Studio 2008 (ORCAS kód neve) 2007. november 19-én jelent meg, ugyanakkor X.NET-keretrendszer 3.5. Célja a Windows Vista (de támogatja mind az XP), az Office 2007 és a webes alkalmazások támogatását. Tartalmazza a LINQ-t, a C # és a Visual Basic nyelvek új verzióit. A stúdió nem lépett be a Visual J # -tal. 2008. október 28-tól a verzió első alkalommal érhető el oroszul.
  7. Visual Studio 2010 (Hawaii kódneve, az Ultimate - Rosario) megjelent április 12-én, 2010 együtt S.Net Framework 4.0. A Visual Studio magában foglalja a C # 4.0 és a Visual Basic .NET 10.0, valamint a korábbi verziókban hiányzó F # nyelvét.

A szerda Visual Studio 2010 lehetővé teszi, hogy hatékonyan hozzon létre összetett alkalmazások rövid ideig. A környezet modellje jelentősen gazdagabb korai, vagy olyan fogalmakat használ, mint megoldás (megoldás), projekt, névtér (névtér) és összeszerelés (összeszerelés). A projekt fogalma számos médiában van jelen, például szerda delphi. A projektfájl tartalmazza a forrásfájlok és egyéb források felsorolását, amelyekből a rendszer alkalmazást épít. A Visual Studio környezetvédelmi megoldása számos olyan projektet tartalmaz, amelyek egymástól függenek vagy függetlenek lehetnek. Kiáll induló projekt. A koncepció a szerelvény származik az általános nyelvi végrehajtó környezet CLR (Common Language Runtime). A CLR környezet a legforradalmibb találmány, amellyel az írás és végrehajtás folyamata alapvetően eltérő lesz.

A fordító átalakítja a fájlokat forráskóddal a köztes Msil nyelv kódjainak ( Microsoft közbenső nyelv.). Együtt a metaadatokat, ezek a kódok által rögzített PE fájlok (Portal futtatható), amelynek kiterjesztése EXE vagy DLL típusától függően a projekt. A modul is előállítható a NetModule kiterjesztéssel, amely nem tartalmaz metaadatokat.

Összesen 12 típusú projekt található. Ha a PE-fájlok betöltése "a repülésen" a tényleges processzor parancsára kerül. Keretkeret. Net, program végrehajtás, nem szerepel a Visual Studio-ban, de az operációs rendszeren keresztüli beállítás. Ez a virtuális Java-Mashina analógja.

A szerelvény minimális egység az alkalmazások telepítéséhez. Minden egyes szerelvényt egy egyedi azonosító jellemzi, amelyet a szerző digitális aláírása és egyedi szám verziók. A következő arány a nevek és a nevek terek között van. A szerelvény több névteret tartalmazhat. Ugyanakkor a névtér több szerelvényt is igénybe vehet. Az összeszerelés összetételében mindkettő, mind az úgynevezett manifeszt vagy szerelési leírásban kombinálható.

A C #, a névtér szintjén, a Java csomagokhoz hasonlóan, a projekt strukturálására szolgál. A névtér tartalmaz egy vagy több osztályt. Egy forrásfájlban több névterületet lehet meghatározni, és ugyanakkor egy névteret lehet meghatározni több fájlban. És még az osztály is több fájlban (részleges osztályokban) található.

Az újonc programozók számára a lehetőségek ilyen bőséges nehézségeket okozhatnak. A táptalaj méretét és összetettségét a következő összehasonlító táblázat három környezetben ítélheti meg.

Érdekes és ígéretes működési környezet Az IBM-ben kifejlesztett Eclipse. A projekt kezdeti célja a vállalati IDE szabvány létrehozása volt a különböző nyelveken különböző nyelveken működő programok kidolgozásához. Ezután a projektet az Eclipse átnevezték, és nyílt hozzáféréssel kiemelték. Az engedély lehetővé teszi a kód- és fejlesztési környezet szabad használatát, ugyanakkor zárt kereskedelmi termékeket hoz létre. Ennek köszönhetően a rendszer széles körben elterjedt, és sok szervezet vállalati szabványsá vált az alkalmazások fejlesztéséhez.

Az ökoszisztéma Eclipse a konszolidált technológiákra utal, amelynek széles körű eloszlásának évét jelenti 2007-ben. A rendszert végrehajtják java nyelv és kezdetben teljes körű integrált szerdán képviselte a Java nyelvét. A jövőben más nyelveket is támogattak. Az első verziók kényelmetlenek voltak, mivel a céltermék kénytelen volt a túlzott funkcionalitást alkalmazni. A harmadik változatból kiindulva az egész rendszer architektúráját átdolgozták annak érdekében, hogy maximalizálják a modulok szétválasztását és a köztük lévő kapcsolatot. Ugyanakkor, Eclipse modulok kialakítva egyeztetett osztály készlet adta a funkcionalitás az egész alrendszerek, mint például a segítség alrendszerek, frissítéseket, tanulás, előadások, többnyelvű támogatás És sokan mások. Az alkalmazás fejlesztésével most fokozatosan növelheti a funkcionalitást, összekapcsolhatja a kész szabad összetevőket. Az Eclipse terminológiájában ezeket az összetevőket "plug-in modulok" vagy "plugins" (plugins) nevezik. Az ilyen technológia jellemzővé válik a fejlett működési környezetekre. A technológia alapján alapuló platformot nevezték el

A szoftverszerek fejlesztésének eszközei olyan közeget alkotnak, amely egy bizonyos típusú alkalmazás felszabadítására optimalizált, egy adott architektúrával rendelkezik.

A fő megkülönböztető eszköz környezetben más eszköz a megszerzett szoftver ágensek, hogy a környezet biztosítja a teljes ciklus szoftver ágens fejlesztése, beleértve a szakaszában a tárgykörben elemzés, tervezés fázisában, fejlesztése, ellenőrzése, valamint a telepítési és kíséret lépéseket.

Kiválaszthatja a leghíresebb és legnépszerűbb ügynöki fejlesztési környezeteket:

Ave (ügynök építési környezet);

Fontolja meg részletesebben a felsorolt \u200b\u200binstrumentális környezetvédelmi ügynök fejlesztési környezetét.

1. Az AgentBuilder Tool környezet biztosítja a fejlesztők fejlesztési eszközöket és egy ügynöki alkalmazást. Az intelligens ügynök létrehozásának technológiája az Agentbuilder környezetben a 2.1 ábrán látható.

Ábra. 2.1

A fejlesztési és megvalósítási médiát a Java programozási nyelven írják, amely lehetővé teszi számukra, hogy minden olyan platformon dolgozzanak, ahol a Java szerda telepítve van. Az Agentbuilder Toolkit használatával létrehozott ügynök bármely platformon hajtható végre egy Java virtuális gépen (1.1 és újabb verzió).

A fejlesztési eszközök egy kényelmes grafikus felület a kifejlesztett MAC tárgyterületének elemzéséhez és az általam kifejlesztett ügynökök kívánt viselkedésének meghatározásához grafikus szerkesztők. Ebben az instrumentális környezetben a több ügynök alkalmazás kiépítésének következő lépései vannak megadva:

az ügynökség meghatározása;

olyan ügynökök, amelyek a felhatalmazáson alapuló hatósági ügynökök, valamint a mentális modell (meggyőződés, képesség, kötelezettségek, magatartási szabályok) által használt ontológia kialakítását biztosítják;

az ügynökség ügynökeinek kölcsönhatásának meghatározására szolgáló protokollok létrehozása;

generáció speciális fájl Az ügynök leírása a RARL nyelven, amely végső soron a mentális modellt és az ügynök kívánt viselkedését jelenti.

Az ügynök alkalmazás futási ideje egy ügynök és processzorból áll egy ügynök elvégzéséhez. A processzor hatékony logikai kimeneti eljárásokat alkalmaz az ügynök magatartásának viselkedésének szabályainak összehasonlításával a jelenlegi mentális modell által meghatározott ügynökségének meggyőződésével, valamint a bejövő üzenetekkel. Az érvek alapján a processzor bizonyos intézkedéseket hajt végre az ügynök hatóságához. Az ügynök program az ügynök definíciója Radl fájl formájában, valamint a projekt telepített könyvtárával együtt. A processzorral együtt a processzorral együtt egy végzett anyagot alkot. A futásidejű környezet futtatásakor az ügynök processzort inicializálja, amely a RARL modellt és az ontológiát használja a projekt osztálykönyvtárként (Project Tartozékkönyvtár). Ez megköveteli az ügynök definícióját (a RARL fájl, amely az érveléshez és a kezdeti mentális modellhez képest) és a projektosztályok könyvtárának (a PACS projekt támogatási osztályai a projektosztályok könyvtárából) - ezeket az objektumokat használják A feladat tárgykörének megjelenítéséhez.

2. A méhészeti környezetben az ügynökségi orientált alkalmazások fejlesztését az elosztott rendszerszerek viselkedésének meghatározásának módszertana végzi a Java nyelven megvalósított Mac - könyvtár alkalmazásával. A méhészeti rendszer által felajánlott méh-fi-rendszer alapján lehetőség van egyértelműen strukturálni az egyes ágensek viselkedését az államok grafikonjaként, valamint az ügynökök interakciós protokolljainak meghatározására. Az ügynökök számlálása az ügynökségi-orientált elemzés szakaszában meghatározott, a rendszeres kifejezések (például a Gaia módszertan szerint) meghatározott szerepképesség alapján épül fel. Az ügynök viselkedési grafikonjának egy példája a képzési rendszer hallgatója a 2.2. Ábrán látható.


Ábra. 2.2.

Az állami grafikon regisztrálja az olyan államok nevét, amelyekben az ügynök lehet. A következő lépésben az osztályok minden állam esetében meghatározzák az osztályokat. Az oszlop minden egyes állapota a Java nyelven végrehajtott Toshiba Sodred könyvtárának Awripstate osztály példánya. Az osztálytervezőben az elő- és utáni feltételek meghatározása, azaz A jelenlegi állapotban végrehajtandó feltételeket a status osztály által meghatározott intézkedések végrehajtása és a következő állapotra való áttérés meghatározása érdekében. Ezután meg kell adni az egyes állapotokban végrehajtandó műveleteket (beleértve a saját ügynökeiket és más ügynökökkel való kölcsönhatásokat). A kezdeti és végállapotok esetében az "init" és "vége" osztályokat is létrehozzák. Ha az ügynök kölcsönhatásba lép más ügynökökkel, akkor az adott államok specifikációjával a Bee-Gent rendszer biztosítja az interakciós protokoll meghatározását. A jegyzőkönyvnek tükröznie kell az összes ügynök viselkedési vonalát ebben az állapotban. Minden államban az ügynök tevékenységei az interakciós protokollok végrehajtását célozzák meg a tervezett viselkedési vonal végrehajtása érdekében. Az egyes ágensek tevékenységét a MAC-ben meghatározzák, például a Gaia módszertan ügynök-orientált elemzésének szakaszában kifejlesztett szolgáltatások modelljét.

Minden viselkedési vonalat az ügynökök kölcsönhatásának diagramja dokumentálja az üzenetek tartalmával és azok sorrendjével. A 2.3. Ábra bemutatja a hallgatói ügynök fegyelmének tanulmányozásának kölcsönhatási diagramját. Az üzenetformátumot az XML / ACL nyelv határozza meg, amely a KQML kommunikációs nyelvének fejlesztése.


Ábra. 2.3. Az ügynök hallgatóinak interakciója a "fegyelem tanulmányozása" állapotában

Így a fejlett logikai modellek alapján a Bee-Gent rendszer automatikusan létrehozza a többszörös szoftveres programkód csontvázát a Java nyelven, amelyet kiegészíti a szükséges programkóddal, amely egy adott "életciklusokat" biztosítja. A méhészeti rendszerben, ellentétben az ügynöképítővel, az ügynökök viselkedésének leírásakor a szabályokat nem használják az ügynök külső eseményekre és belső állapotára való meghatározására.

3. Jack TM intelligens szerek (Jack) egy ügynökségorientált fejlesztési környezet, amely a Java programozási nyelven alapul. Jack egy Java bővítmény a Java szintaxis-tervek bővítése formájában az intelligens ügynök fogalmához kapcsolódó tulajdonságok megvalósításához. Jack Agent programozási nyelv a következő funkciókat kínálja:

meghatározza az új alaposztályokat, interfészeket és módszereket;

bővíti a Java szintaxist az új szögorientált osztályok, definíciók és üzemeltetők támogatására;

a szemantika terjeszkedését (funkciók végrehajtásakor) biztosítja az Actent-orientált szoftverrendszer által igényelt végrehajtási modell támogatásához.

Minden nyelvbővítmény plug-in -ként valósul meg, ami a lehetőséget a lehető legkevésbé és rugalmas az ügynökségi orientált programozásban.

Az osztályok szintjén 5 fő struktúrát vezettek be:

az aljzat szellemi entitását szimuláló szer;

az a képesség, amely egy egész funkcionális komponensen (események, tervek, sok hiedelmek és egyéb képességek) összegyűjti, az ügynökök számára;

egy esemény olyan helyzetekre és üzenetekre, amelyekre az ügynöknek képesnek kell lennie válaszolni;

olyan terv, amely arra szolgál, hogy szimulálja az ügynök eljárási leírását, hogy az ügynök hogyan kezeli ezt az eseményt (az ügynök által végzett valamennyi intézkedést előre biztosítják, és a tervek leírják);

sok meggyőződés, az ügynök tudásának modellezésére olyan hitek formájában, amelyek ragaszkodnak a zárt vagy nyitott világ szemantikájához. Ez a design az ügynök által az első sorrendű relációs tartalmak formájában való hitét jelenti, és biztosítja a logikai konzisztenciáját.

Meg kell jegyezni, hogy a kívánt ügynök viselkedése az ezen osztályok által meghatározott moduláris egységekben kapszulázott, és az osztályok tartalmazzák az összes olyan struktúrát, amely a független végrehajtáshoz szükséges, és olyan módszerek, amelyeket az aljzat nyelvén programozói használhatnak. A fent említett osztályok közötti kapcsolat kialakítása érdekében nyilatkozat van.

A fent említett osztályok közötti kapcsolatok kialakítása a nyilatkozatok sorozata. Az alábbiakban a kód egy töredéke, amely megvalósítható az aljzaton írt terv tervének kialakításához (a Jack-hez tartozó szintaxiselemek merészek):

a Plan MovormentResponse kiterjeszti a tervet (

#Handles esemény robotmoveevent moversponse;

#USES Agent megvalósítja a robotinterface robotot;

statikus boolean releváns (robotmoveevent eV)

kontextus () (...)

#Eroning módszer.

Ebben a példában a programügynök által meghatározott program cselekvési terv örökli alapvető funkcióit a Jackplan osztályból. Ezenkívül az aljzat terveinek több nyilatkozatainak felhasználásával jelzik, hogy a terv hogyan fogja használni. Minden nyilatkozatot a "#" szimbólum előzi meg, hogy megkülönböztesse őket a Java szintaxis elemektől. #Handles eseménynyilatkozat határozza meg a célt vagy eseményt, amelyet a terv válaszol. Nyilatkozat #USES Agent végrehajtó enshrines ügynök (ek), amely ezt a tervet használhatja. A példa tervet csak a megadott interfészt (robotinterface) végrehajtja. A számított zárójelek tartalmazzák a szokásos Java kódot.

A nyilatkozat mellett az aljzat nyelve az ügynök által végrehajtott érvek és viselkedésének leírására, amikor a terv végrehajtása során az indokolás módszerei által kiosztott "@" szimbólum által kiosztott indokolás módszerei.

Az ügynök-orientált végrehajtásának támogatása szoftverrendszer Jack a következő további nyelvi kiterjesztéseket biztosítja, amelyek a következő szemantikát biztosítják:

A szorzottság beépül a rendszermagba, és eltávolítja a programozó vezérlését.

Az ügynökök munkáját úgy hajtják végre, hogy az ügynökök számos tervet kezeljenek, és hozzáférjenek a hit leírásokhoz. Az ügynökök teljesítenek tervet az eseménykezelési feladatok során, amikor felmerülnek, összehasonlítva hiedelmüket, ha szükséges. Ezek a tervek olyan alcsoportokat kezdeményezhetnek, amelyek viszont kezdeményezhetik alcsoportjaikat, ha az ügynök időigényes és nehéz választ igényel.

Új adatstruktúrát vezettek be, a megnevezett logikai elem (logikai tag), amelynek értéke a lekérdezés eredményétől függ az ügynöki hiedelmek halmazának.

Az a képesség, hogy kéréseket végezzen az ügynöki meggyőződések sokaságára a logikai elemek alkalmazásával, az egyesületükön keresztül a kívánt eredmény elérése érdekében. Ha a kérés sikeres, a logikai elem tartalmazza a kívánt értéket.

A Jack Development Environment komponens (Jack Development Environment) lehetővé teszi, hogy dolgozzon leírásához diagramok, amellyel a környezet generálja a csontváz a programkód és biztosítja, hogy a változások a kódban megjelennek a diagramok.

A jackben létrehozott ügynököknek van egy architektúrája, amely szellemi ügynökökben rejlik. Így lehetséges az ésszerű viselkedés modellezése, az ügynöki BDI-architektúra elméleti modelljével összhangban, hiedelmek, vágyak és szándékok alapján.

A BDI-architektúra szerint a Jack intelligens szervei autonóm szoftverkomponensek, amelyek a proaktivitás (fókusz) és a reaktivitás (esemény küldött) alapjain alapuló ésszerű viselkedést mutathatnak be. Minden ilyen ügynök:

meggyőződések (ez az adatkészlete a világról);

vágyak (olyan események készlete, amelyeken reagálni fog, és célból álló eredményeket, amelyek eredményeit vágynak);

(Olyan tervek, amelyek leírják, hogyan képesek kezelni a feltörekvő célokat és terveket).

Ha az ügynök a személyiség analógjainak tekinthető, akkor a tervkészlet leírja azt a lépéseket, amelyeket az ügynöknek végrehajtani kell, ha bizonyos esemény bekövetkezik, vagy a vágy, hogy elérjenek egy bizonyos eredményt. Első pillantásra az ügynök viselkedése hasonlónak tűnhet a szakértői rendszerek cselekvéseihez, az összes korlátozással. Az ügynök-orientált rendszerek közötti alapvető különbség azonban az, hogy az ügynökök programozhatók a tervek teljesítéséhez ugyanúgy, mint az ésszerű személyiség működni. Különösen az ügynökök segítségével megvalósíthatja a következő tulajdonságokat, amelyek az ésszerű viselkedéshez kapcsolódnak:

a fenntartható fókusz ágazatok célja a célokra, és nem a kiválasztott módszerek elérésére;

a valós idejű összefüggések függése a valós idejű ügynökökben követni fogja azokat a lehetőségeket, amelyek minden egyes alkalommal érvényesek, és döntéseket hoznak a meglévő feltételeken alapuló nyomon követési intézkedésekkel kapcsolatban;

a megközelítés helyességének valós időben történő jóváhagyása - az ügynök biztosítja, hogy a kiválasztott cselekvési folyamatot addig követi, amíg bizonyos feltételek továbbra is igazak;

egyidejűleg - egy ügynökrendszer többszálú. Ha új célok és események merülnek fel, az ügynök képes meghatározni a prioritásokat a multitasking kérésére.

A JACK alkalmazás olyan forráskód, amely az anens-orientált megközelítés jellemzőjét jelenti: ügynökök, képességek, események, tervek, hiedelmek, nézet (lekérdezések), valamint egy Java osztály, amely a fő () funkcióval, amely a belépési pont A Java virtuális géphez és bármely más Java szükséges fájlhoz. A fenti fogalmakhoz létrehozott fájloknak ugyanolyan névvel kell rendelkezniük, mint a fájlban meghatározott objektum. Van egy kiterjesztése, amely meghatározza a Jack koncepció típusát. A Jack Agent Compiler átalakítja a JACK Agent nyelvű forrásfájlokat a Java nyelvben lévő kódba, amelyet ezután összeállítani a Java virtuális gépkódba a célrendszer végrehajtásához.

4. A Jade szoftver (Java Agent Fejlesztési Keret) széles körben alkalmazható a többanyag-rendszerek fejlesztésére. A Java teljes egészében megvalósul, és támogatja a FIPA - szabványokat intelligens szerek létrehozására. A jade környezet megteremtésének célja, hogy egyszerűsítse a fejlesztési folyamatot az ügynökök kölcsönhatásának módjainak szabványosításával a rendszerszolgáltatások rendszerében.

E cél elérése érdekében a Jade programozót kínál az ügynöki rendszerek fejlesztésére, a következő jellemzőkkel:

fIPA-kompatibilis ügynök platform, amely a FIPA-n alapul, és beleértve a rendszerügynökök kötelező típusait, először egy ügynök platform (AMS), második, kommunikációs csatorna (ACC) és címtárszolgáltatások (DF) (az ilyen típusú szerek automatikusan aktiválódnak a platform elindul);

elosztott ügynök elosztott ügynök platform, amely több gazdagépet használhat, és csak egy Java virtuális gép kezdődik minden csomóponton. Az ügynököket Java patakként végzik. Az ügynök helyétől függően üzenetet küldünk, és az, aki megkapja, a megfelelő szállítási mechanizmust az üzenetek szállítására használják.

Többszörös tartományok támogatása - a szövetségen alapuló FIPA DF-ügynök, ezáltal multidédanyagot valósít meg.

Multitreaded végrehajtási környezet Twolevel ütemezéssel. Minden jade-ügynöknek saját áramlási áramlása van, de többszálas üzemmódban is képes dolgozni. A Java virtuális gép az ügynökök által végrehajtott feladatokat tervezi.

Objektum-lényeges programozási környezet. A FIPA-specifikációkra jellemző legtöbb fogalmát Java osztályok képviselik, amely a felhasználói felületet alkotja.

Az interakciós protokollok könyvtára. A szabványos interaktív FIPA kérés és a FIPA-szerződés-nettó interaktív protokollokat használják. Annak érdekében, hogy olyan szert hozzon létre, amely az ilyen protokollok szerint működhet, az alkalmazásfejlesztőknek csak bizonyos területi műveleteket kell végrehajtania, míg a kérelmetől független jegyzőkönyv logikáját a jade rendszer hajtja végre.

Adminisztrációs GUI. Egyszerű műveletek A platformkezelés egy olyan grafikus felületen keresztül hajtható végre, amely aktív anyagokat és anyagtartályokat jelenít meg. A GUI használatával a platformadminisztrátorok létrehozhatják, megsemmisíthetik, megszakíthatják és folytathatják az ügynököket, létrehozhatják a domain hierarchiákat és a multi-agent DF Federations (facilitátorokat).

Jade a Java RMI technológiák, a Java Corba IDL, a Java Serialization és a Java Reflection API alapja. A Mac fejlesztése ebben a környezetben a FIPA-specifikációk használatának köszönhetően egyszerűsödött, és számos eszköz a hibakeresési és a rendszerbeállítás támogatására. Ez az ügynök platform telepíthető a különböző operációs rendszerekkel rendelkező számítógépeken, és egy távoli GUI interfészen keresztül konfigurálható. A platform konfigurálása meglehetősen rugalmas: még a programok végrehajtása során is megváltoztatható az egyik gépről a másikra. A rendszer működésének egyetlen követelménye a Java futási idő 1.2 gépének telepítése.

A jade környezet minden futó példánya egy tartály, mert Tartalmazhat több anyagot. Az aktív tartályok csoportja platformot alkot. A fő tartálynak mindig aktívnak kell lennie, és az összes többi tartályt regisztrálni kell velük, amikor megteremti őket. Ezért a platformon futó első tartály a fő tartály, és a többiek rendszeres tartályok, és olyan utasításokat kell kapniuk, ahol a fő konténerük van, amelyen regisztrálni kell őket. Ha a hálózaton egy másik fő tartály van elindulva, egy másik platformot képvisel, amelyen az új rendszeres konténerek képesek regisztrálni. A 2.4. Ábra a fenti platform és konténer koncepciókat mutatja, és két, három és egy tartályból álló script jelenít meg.


Ábra. 2.4. Szerda "létezés" jade ügynökök

A Jade ügynököknek egyedi neveket kell kapniuk, ismerik egymás nevét, és ennek köszönhetően közvetlenül kommunikálhatnak, függetlenül a tényleges helyüktől, azaz. Egyetlen tartály (például A2 és A3 szerek) belsejében, egy platformon (például A1 és A2) vagy különböző platformokon (például A4 és A5) között. A fő tároló eltér a szokásos, hogy tartalmaz egy ügynök rendszer és a router, amely automatikusan elindul, amikor a fő tartály elindul. AMS Agent Management System (Agent Management System) "Power" a platformban (az AMS-en keresztül kért távoli konténerek létrehozása / törlése), és az Agent elnevezési szolgáltatást nyújtja. DF Directory Router (Directory Facilitator), amely biztosítja a "Sárga oldalak" szolgáltatást, segít megtalálni más ügynökök ügynökét, hogy megkapja a szükséges szolgáltatásokat, amelyekhez elérni kell a célokat.

A kommunikáció érdekében a környezeti architektúra rugalmas és hatékony üzenetküldési folyamatot biztosít, amelyben a Jade létrehoz egy sorba, és szabályozza az ACL-üzenetfolyamat, amely minden egyes ügynök számára privát. Az ügynökök képesek a sorban való kapcsolatfelvételre a munkájuk kombinációjával való kapcsolatfelvételhez: blokkolás, szavazás, működésben való törés és összehasonlítás a szabványhoz (ha a keresési módszerekre vonatkozik). Multi-Agent Platform Toolkit

BAN BEN legutóbbi verziók A rendszerek Java RMI-t, esemény-értesítést és IIOP-t használnak. Azonban könnyen hozzáadhat más protokollokat. Szintén biztosítja az SMTP, HTTP és WAP integrálását is. A legtöbb kommunikációs protokoll, amelyet az ügynöki környezetek fejlesztői nemzetközi közösségének már azonosítottak, és konkrét példákkal szemléltethetők a rendszer és annak alapvető állapotainak meghatározása után. A felhasználó által definiált tartalomnyelvek, az ügynökök irányításának ontológiájának, valamint az ontológiáknak, amelyek megvalósíthatók és regisztrálhatók az ügynökökkel, és amelyeket a rendszer használhat. Annak érdekében, hogy jelentősen bővítse a Jade teljesítményét, lehetséges, hogy integrálható a Jess és a Java-shell klipekhez.

A figyelembe vett eszközhordozó képességeinek összehasonlító elemzése a 4. táblázatban és a 2.5. Ábrán az elemzés eredményeit mutatja.

4. táblázat.

A szerszámsözegek lehetőségeinek összehasonlító elemzése a szoftveres ügynökök fejlesztéséhez

Instrumentális környezetek lehetősége

Építőipari ügynökségek eszközei

Projektmenedzsment eszközök

Grafikus környezet az ügynökök specifikációinak meghatározásához

Integritás-szabályozó mechanizmus

Az építési ontológia eszközei

Könyvtár a tömegfejlesztéshez

Az ügynök érvei mechanizmusa más ügynökök képességeiről és képességeiről

Formális nyelvi kommunikáció

Agent interakciós eszközök

A meghatározott képességekkel rendelkező szerek megadása


Ábra. 2.5

A figyelembe vett eszközök jellemzőinek összehasonlítása alapján megállapítható, hogy a legerősebb és rugalmas technológiák az "Ügynök" fogalmának megvalósításához az ügynöképítő eszköz és a Jack környezet által javasolt megközelítések.

Figyelembe kell venni azt a tényt, hogy a jade platform esetében további BDI kiterjesztés - Jadex környezet. Ez a környezet hibrid reaktív-delberatív architektúrát biztosít, amelyben az ágens "fekete doboz", amely elfogadja és küld. A feldolgozóüzenetek, a belső és külső események eredményei alapján a tanácsos mechanizmus döntéseket hoz az új cselekvési tervre való áttérésre vagy a régi folytatására. A jelenlegi terv üzeneteket küldhet más ügynököknek, megváltoztathatja a hiedelmek adatbázisát, új célokat, és belső eseményeket okozhat. A rendszer a Java osztályokként feldolgozott tervkönyvtárat használja.

Az intelligens szerek fejlesztésének egyik fő előnye, hogy a Jadex platformon az új programozási nyelvek tanulmányozása nem szükséges. Ehelyett az ügynököket az integrált fejlesztési környezetben (IDES) objektumorientált programozás alapján kódolják, például az Eclipse és az Intellij ötlet.

Egy másik fontos szempont a kötőanyag-szoftver függetlenségét, mivel a modulokkal függetlenül Jadex teljesen más forgatókönyvekben használható a platform felső szintjén. Az ügynök-orientált programok hozzáadják az autonóm cselekvési elemek kifejezett tulajdonságait, amelyek részt vesznek a döntéshozatali folyamatban passzív tárgyakhoz. E tekintetben az ügynökök olyan hatóanyagokat biztosítanak, amelyek egyedi interakciós képességekkel rendelkeznek az alkatrészekkel.

A Jadex független döntési mechanizmusként van kialakítva, amely olyan kötelezőségi rendszerekkel való együttműködéshez igazodik, amelyek az ügynökkel való interakciót az üzenetek kezeléséhez és átvételéhez viszonyítva végzik.

Az ügynök szabadon vándorolhat a gazdagépek között, mind a kiszolgáló oldalán, mind a felhasználói oldalon, miközben fenntartja a függetlenséget a feladatok végrehajtásának helyéről.

A legismertebb szerszámrendszerek elemzése lehetővé tette a hatékony és megfizethető Jadex környezet kiválasztását.

Ez a cikk a technológiai fejlesztési technológiákra és fejlesztési tendenciáira fordítják a hazai és külföldi vállalatok többségének kontextusában a tevékenységük egyes területeinek természetes automatizálásától az egységes integrált megoldásokra.

Alkalmazások fejlesztése a modern informatikai projektekben

A hazai vállalkozások automatizálásának és informatizációjának jelenlegi fejlesztési időszaka a vállalat tevékenységeinek egyedi területeinek természetes automatizálásából származó tömeges átmenet időtartama jellemezhető, amely a létezésük valamennyi aspektusát fedezi. Nem befolyásolhatja a leggyakrabban futó informatikai projektek összetételét és mennyiségét, valamint a végrehajtásuk módszereit.

A modern informatikai projektek jellemzői

Ha további öt vagy hét évvel ezelőtt az egyedi egyedi alkalmazásokhoz kapcsolódó projektek széles körben elterjedtek (és valamivel kevesebb, mint egy adott témakörre szánt kész alkatrészeken alapuló megoldások), és egy széles profilú tulajdonosi, Kapcsolódó specialitások (például képesek kezelni helyi hálózatok És a DBMS) ma, elsősorban a kész üzleti alkalmazások és az ERP rendszerek megvalósítására irányuló projektek megrendezésre kerülnek, amelyeken belül a projekteket gyakran az ugyanazon üzleti alkalmazásokon alapuló megoldások alapján hajtják végre. Ennek oka, hogy egyrészt a legtöbb vállalat vezetőinek tudatossága az a tény, hogy a vállalatuk azt állítja, hogy a marketing stratégiájukban egyedülálló, lényegében termelése, és tevékenységeinek egyéni vonatkozásai meglehetősen tipikus, másrészt - a legtöbb vállalat szokatlan üzleti folyamatainak üzleti alkalmazások üzleti alkalmazásainak tudatossága, valamint a tipikus megoldások széles skálájának létrehozása, amelyek egyidejű szolgáltatásokat nyújtanak a megvalósításukhoz, kíséretében és frissítésükért vagy a partnerek erejével.

Áttérés a munkaerő megosztására a projektekben a

Az ilyen helyzet nem befolyásolhatja az informatikai vállalatok személyzeti összetételét, amelyek között a rendszerintegrátorok közelmúltban érvényesülnek (néha fejlesztési osztályuk, de elsősorban az integrált projektekre szakosodott, beleértve az alkalmazásfejlesztést is) és kizárólag a fejlesztési alkalmazásokra szakosodott vállalatok, kis. Ez utóbbiakban folyamatban van a specializáció, a rendszerelemzők, a programozók, a technikai írók és a projektmenedzserek fejlesztői csoportjának szakosodása. Ugyanakkor a rendszerelemző nem tudja, hogyan kell programozni, az üzleti elemző nem vezet projekteket, és a projektmenedzser csak szervezeti munka, és nem érdekli az alkalmazás építészetét, vagy a több téma területét. Ez tükrözi az exkluzív szoftver kisebb termeléséből való áttérés tényét a modern felhasználók igény szerinti tipikus megoldások tömeges ipari termeléséből.

Alkalmazások módosítása

Beszélgetés az alkalmazásfejlesztési projektekről és a komplex informatikai projektek alkalmazási részeihez kapcsolódóan, meg kell jegyezni, hogy ma a vállalati megoldások létrehozása nemcsak a DBMS, hanem más termékek - irodai alkalmazások, GIS és CAD rendszerek is válik leginkább releváns. Üzleti elemzések, speciális szerver termékek, vállalati menedzsment rendszerek és egyéb üzleti alkalmazások alapjai. A létrehozott megoldások védelmére vonatkozó követelmények szintén eltérően különböznek azokatől, amelyek három évvel ezelőtt léteztek. Végül az egyik fontos trend az érdekek érdeklődésének növekedése mobil eszközök és az önállóan működőképes alkalmazások és szükség esetén szinkronizálhatók a vállalati információs rendszerrel.

A közelmúltban a vállalati döntések fejlesztése területén a közelmúltban meg kell jegyezni a vállalatok növekvő szükségességét olyan üzleti elemzés eszközeire, amelyek a meglévő megoldások részét képezik, vagy az egyes eszközök formájában léteznek. Annak ellenére, hogy az üzleti elemzés alkalmazásával kapcsolatos alkalmazások létrehozása nehéz, mivel ma a multidimenziós tárolással kapcsolatos adatokhoz való hozzáférés és a kérelmek nyelvének szabványosítása továbbra is releváns, a fejlesztők kezében már elég megoldásának eszközét ilyen feladatokat a legnépszerűbb analitikai platformok beszállítóktól analitikai platformok (például az Oracle, a Microsoft és a Hyperion) és szakosodott vállalkozások adatelemző eszközök (Cognos, ProClarity és a Business Objects). Emellett az üzleti intelligencia és jelentési eszközök, a BIRT (Business Intelligence és Jelentéseszközök, BIRT) elérhető az Eclipse platform számára, amely a Java alkalmazások fejlesztésének fele a piacának fele.

Az ügyfél bevonása a fejlesztési folyamatba

Az alkalmazásfejlesztők hozzájárulásának értékelése az ügyfél üzleti tevékenységének sikeréhez, valamint maga a folyamat minőségének értékelése, és annak eredménye mindig ellentmondásos kérdés volt, és a félreértés és a konfliktusok oka. Azonban az utóbbi időben voltak módszerek értékelésére az érettségi fejlesztési folyamatok és ajánlások alapján integrált képességérettségi modell (CMMI) modellek, valamint számos alkalmazás fejlesztési módszerek, amely a kérelmet a kérelem a képességét, hogy ellenőrizzék a fejlesztési folyamat. A CMMI modell lehetővé teszi az alkalmazások fejlesztési folyamatainak értékelését és javítását, és kihasználhatja az ilyen folyamatok sikeres példáit, valamint az egyik vagy az érettség értékelésének elérhetőségét e modell szerint a fejlesztő cég ismeri a végső minőségbiztosítását A termékfejlesztési folyamat eredménye ebben a társaságban.

A családfejlesztési módszerek az Agile módszertanok általános nevének (beleértve különösen az extrém programozási módszertant, amelyet több hónappal ezelőtt írtunk, "recepteket" nyújt a projektcsapat napi kezelésére, beleértve a más, a A teszteléssel vezérelt fejlesztés (teszt -driven fejlesztés, TDD), amely magának bizonyult a kiváló minőségű kód megszerzésének eszköze. A családi módszertan egyik jellemzője az ügyfél bevonása a fejlődés folyamatában, hogy minden szakaszban ellenőrizhesse.

A legnépszerűbb architektúrák és platformok

Szolgáltatásokorientált architektúra

A modern vállalkozások informatikai infrastruktúrájának és a vállalati alkalmazások architektúrájának egyik jelenlegi trendje az átmenet a szolgáltatási orientált architektúrához (szolgáltatásorientált építészet, SOA). Ez az architektúra feltételezi, hogy az elosztott alkalmazások és szolgáltatások létrehozása és végrehajtása a különböző technológiák használatán alapul, mint például a webszolgáltatások (hasonló technológiák, széles körben támogatják az Eclipse platform és a Borland és a Microsoft fejlesztési eszközök).

Legnépszerűbb platformok

Az utóbbi időben az egyik legjelentősebb tendenciája az olyan platformok egyesítésében nyilvánul meg, amelyekre a legtöbb alkalmazást létrehozzák, és a két vezető közül kettő a Windows / Microsoft .NET és a Java / J2ee. Ez nagymértékben az ilyen platformok azon képességének köszönhető, hogy biztosítsák az alkalmazások létrehozásának képességét, az adatvédelem mértékét, valamint a felhasználói felületek létrehozásának képességét, valamint a szolgáltatásokhoz és az adatokhoz való hozzáférést, megfelelnek a modern követelményeknek. A megadott trend azonban már régóta új volt bárkinek.

Megjegyzünk továbbá, hogy a vállalati ügyfelek érdeklődésének gyors növekedése miatt a mobileszközök fejlesztéseire, az alkalmazások és a mobil platformok fejlesztése egyre inkább népszerűvé válik a fejlesztők körében.

A mobil platformok népszerűsége

Napjainkban a mobil alkalmazások körülbelül egy és fél tucat platformot fejlesztenek ki. A tavalyi év végén végzett Evans Data Corp kutatóvállalat szerint. Több száz fejlesztő felmérése mobil alkalmazásokE terület fő vezetői a.net kompakt keret és Java 2 Mobile Edition (J2ME), valamint más Microsoft platformok mobileszközökhöz és beágyazott Linuxhoz (1. ábra).

Ábra. 1. Népszerűség mobil platformok A fejlesztők közül (Forrás - Fejlesztők választási választási vezeték nélküli platformok. Vezeték nélküli platform végleges rangsorai a fejlesztők világszerte - Evans Data Corp., 2005. szeptemberi

Mindazonáltal ugyanezen felmérés szerint a fejlesztőknek az eszközök minőségének és a fejlesztési közösségi támogatás szintjének találkozása tekintetében a Nokia Serience 60 platform most már elfoglalt. Az ugyanazon Evans Data Corp. előrejelzései szerint a Beágyazott Linux várható a mobil platform piacon.

Ami az alkalmazások fejlesztését illeti, a windows platformok A Microsoft mobileszközei több éve léteznek. Borland eszközei állnak rendelkezésre platformok .NET kompakt keret, Symbian és J2ME. Ezenkívül vannak olyan eszközök, amelyek a Sybase-ból származó mobil alkalmazások fejlesztésére szolgálnak, valamint számos más gyártót.

A fejlesztői eszközök ma

A fejlesztők szűk szakosodása aktív fejlődést eredményezett az úgynevezett támogatást az elmúlt öt évben Életciklus A nagy fejlesztők csapatokra szánt alkalmazások. Hasonló eszközök közé tartoznak a követelmények kezelésének eszközei, az üzleti folyamatok modellezése, az alkalmazások és az adatok, a tesztelés és az alkalmazásoptimalizálás, a kollektív munka menedzsment, a verziók ellenőrzése, a változás menedzsment. Sok vezető beszállító: Az IBM, a számítógépes társult vállalkozások, a Borland, a Microsoft, az Oracle és számos más olyan eszközöket hoz létre.

Az utóbbi időben sok vállalat korábban szakosodott létrehozása fejlesztői környezetek (különösen az IBM, a Computer Associates, Borland, Microsoft, Oracle és a Sybase) szoros figyelmet eszközeinek ilyen célra. Az összes ilyen "nehéz" eszközt kölcsönösen integrálni kell az egész platformok létrehozásához a szerepkör alapú szoftverfejlesztéshez és az alkalmazás életcikluskezeléséhez - az ilyen platformokat a Borland, az IBM, a Microsoft cégek és mások közelében gyártják.

Általában az ilyen eszközök használata megköveteli a szoftverfejlesztési folyamat vizsgálata, mint gyártási folyamat, és ennek megfelelően a módszerek létrehozása és végrehajtása a folyamat kezelésére az anyagi termelési folyamatok kezelésének módszereihez hasonlóan. Az ilyen technikák bevezetését gyakran az egyéni (és nem olcsó!) IT-projektek végrehajtásával végzik, az integrált alkalmazásfejlesztési platformok fejlesztői fejlesztései a fejlesztés, beleértve a feladatkezelést, a követelmények kezelését, a minőségi előírások.

Kereskedelmi eszközök ingyenes verziói

Ha emlékszel, mi történt az elmúlt két évben fejlődő eszközökkel, megjegyezhető, hogy a tendenciát a közelmúltban nagyon aktívan megnyilvánította az ingyenes verziók fejlődésének vezető gyártóit (és jó funkcionalitás) Annak érdekében, hogy felhívja a fejlesztők figyelmét a teljes körű termékek és platformok potenciáljára és lehetőségeiről, amelyekre szánták őket. Különösen a Borland körülbelül három évet termel ingyenes verziók Néhány fejleményüket. A Microsoft a közelmúltban kiadta az Express termékek családját, amely több eszközt tartalmaz a Windows űrlapok és asp .NET alkalmazások fejlesztéséhez. Az Oracle viszont ingyenes fejlesztői hozzáférést biztosít az Oracle JDeveloper 10g eszközhöz.

Nyílt forráskódú eszközök

A fejlesztési eszközök modern piacainak egy másik tendenciája van, a nyílt forráskódú platformok és eszközök népszerűségének aktív növekedése, amelyet jelenleg számos kereskedelmi vállalat által finanszírozott, beleértve az ilyen jól ismert platformok gyártóit, mint az IBM , Novell és Oracle. A leginkább feltűnő példák közül az Eclipse környezet aktív fejlesztése - egy univerzális nyílt fejlesztési platform, amely kompatibilis sok nyelven, telepítési és technológiák platformokkal, valamint a Platform .NET platformjának mono projektje a Linux operációs rendszerhez (a fordítót és más eszközöket jelenleg aktívan állítják elő).

Az ECLIPSE projektet 1998-ban találták meg az IBM, amely létrehozta magát egy olyan új generáció integrált Java fejlesztési környezetének létrehozására, amelyet a beépített integrált eszközök bővítettek, több Java eszközszolgáltató erejét. E célból az IBM Corporation 2001 végén a Java Application Development Toolch forráskódjának nyílt forráskódja részét képezte a WebSphere Studio Workbench forráskódjának, és létrehozta az Eclipse konzorciumot (beleértve a Borland, IBM, Merant, QNX szoftverrendszerek, racionális Szoftver, Red Hat, SuSE, Togethersoft és Webgain) A fejlesztési környezet további fejlesztése, amelyet később egy független, nem kereskedelmi szervezet Eclipse Alapítvány, amely ma 115 taggal rendelkezik.

Napjainkban az Eclipse platform öt év elteltével az Eclipse platform olyan népszerűvé vált, hogy elkezdte elindítani a piacon széles körben használt kereskedelmi eszközöket (például néhány Java-fejlesztő eszközöket). Ma a Java alkalmazásfejlesztési eszközök részesedése, az Eclipse által elfoglalt, körülbelül 50%. Ugyanakkor, az előző év során, az a tendencia, hogy az Eclipse-t a Java Fejlesztési Környezetről az egész alkalmazásfejlesztési életciklus eszközintegrációs platformjáig alakítsa át - a közelmúltban, az ilyen projektek grafikai modellezési környezetet, szolgáltatási eszközöket hoztak létre Az Eclipse konzorciumi orientáció és a vizsgálati eszközök, az üzleti elemzés, a webes alkalmazás eszközök frissített verziói.

Ami az alkalmazások fejlesztésének tényleges eszközeit illeti, az Eclipse platformot jelenleg a PHP, FORTRAN, MACROMEDIA FLEX fejlesztési környezete hozza létre; A beágyazott és mobil platformokra vonatkozó alkalmazások fejlesztésére tervezik számos eszközt. Az Eclipse platform számára kereskedelmi eszközök vannak az IBM, Borland és az SAP vállalatok fejlesztésére.

A legnépszerűbb fejlesztési környezetek

Az Evans Data Corp Research Company ebből az év júniusában végzett 1200 fejlesztő felmérése szerint a legszélesebb körben használt fejlesztési közeg Microsoft Visual Studio .net (2. ábra).

Ábra. 2. Fejlesztési média Használja a frekvenciát (forrás - Fejlesztők választása IDE Scorecard - Evans Data Corp., 2006. június)

Ugyanezen felmérés szerint az alkalmazási fejlesztési környezet funkcionalitása szempontjából a legnépszerűbb az IBM Rational Application Developer, amely felajánlott egy felmérésű felekként, mint az alkalmazások modellezésére és összeszerelésére szolgáló eszközként, és a legjobb példákkal ( 3. ábra).

A felmérés eredményei tükrözik a már említett tendenciákat a két legnépszerűbb platform (Windows / Microsoft .NET és Java / J2EE - szinte minden népszerű fejlesztési környezetet ezeknek a platformoknak szánnak) és a források és fejlesztés népszerűségének növekedése platformok nyílt forráskód (Amint azt az Eclipse jelenléte az öt legnépszerűbb fejlesztési környezetben bizonyítja).

Tehát, a jelenlegi tendenciák fejlődő alkalmazások fejlesztése technológiák közé csökkent a részesedése az alkalmazás fejlesztés informatikai projektekben, fokozatos átmenet az alacsony szintű megoldásokat a tömegtermelés a standard oldatok, egyre aktívabb alkalmazását jóvá fejlesztési életciklus eszközök ( beleértve az alkalmazásfejlesztéshez szükséges integrált platformok végrehajtására vonatkozó projekteket). A közelmúltban a mobil platformokra vonatkozó alkalmazások létrehozásának érdeke is megerősödött. Az elmúlt évek jellemző tendenciája szintén kiváló minőségű nyílt forráskódú eszközök megjelenése. Lehetséges, hogy ezek a tendenciák még több évig is folytatódnak.