PLEXIL - PLEXIL
| Paradigma | Több paradigma |
|---|---|
| Tervezte | NASA |
| Először jelent meg | 2005 |
| Gépelési fegyelem | Statikus , nem biztonságos , nominatív |
| OS | Linux , Mac OS |
| Engedély | Nyílt forráskód |
| Weboldal | http://plexil.sourceforge.net/ |
| Főbb megvalósítások | |
| Robotika , űrmissziók | |
A PLEXIL ( Pl an Ex ecution I nterchange L anguage ) a NASA által létrehozott és jelenleg fejlesztés alatt álló nyílt forráskódú technológia az automatizáláshoz .
Áttekintés
A PLEXIL egy programozási nyelv az automatizálási tervek képviseletére .
2006 Vandi Verma egyike volt társ-írók PLEXIL, amelyet jelenleg az automatizálási technológiák, mint például a NASA K10 rover, a Mars Curiosity rover ütvefúró , Deep Space Habitat és Habitat demonstrációs egység , Edison bemutatása Smallsat Networks , LADEE , Autonómia operációs rendszer (AOS) és eljárás-automatizálás a Nemzetközi Űrállomás számára .
A PLEXIL Executive egy végrehajtó motor, amely megvalósítja a PLEXIL-t, és összekapcsolható (egy adott szoftveres keretrendszer segítségével) egy külső, ellenőrizhető és / vagy lekérdezhető rendszerrel. A PLEXIL-t a NASA jövőbeli űrmisszióinak célzott automatizálási technológiák bemutatására használták.
A bináris fájlok és a dokumentáció széles körben elérhető BSD licencként nyílt forráskódként a Sourceforge.net webhelyről .
Csomópontok
A PLEXIL alapvető programozási egysége a Node. A csomópont egy adatstruktúra, amely két elsődleges összetevőből áll: egy olyan feltételhalmaz, amely a csomópont végrehajtását vezérli, és egy másik készlet, amely meghatározza, hogy a csomópont mit ér el a végrehajtás után.
A csomópontok hierarchikus összetételét tervnek nevezzük . A terv egy fa a gyökérhez közeli csomópontokba (magas szintű csomópontok) és levélcsomópontokba osztva, amelyek primitív műveleteket jelentenek, például változó hozzárendeléseket vagy parancsok küldését a külső rendszer számára.
Csomópont típusok:
2008 szeptemberétől a NASA hét típusú csomópontot vezetett be.
- Lista csomópontok : A lista csomópontjai a terv belső csomópontjai. Ezeknek a csomópontoknak vannak gyermek csomópontjai, amelyek bármilyen típusúak lehetnek.
- Parancs csomópontok : Ezek a csomópontok parancsokat adnak ki, amelyek hajtják a rendszert.
- Hozzárendelési csomópontok : Helyi műveletet hajt végre és értéket rendel egy változóhoz.
- Funkcióhívó csomópontok : külső funkciókat ér el, amelyek számításokat végeznek, de nem változtatják meg a rendszer állapotát.
- Csomópontok frissítése : Információt nyújt a tervezés és a döntéstámogató felület számára.
- Könyvtárhívási csomópontok: Ez a csomópont egy külső könyvtár csomópontját hívja meg.
- Üres csomópontok : Olyan csomópontok, amelyek attribútumokat tartalmaznak, és nem hajtanak végre semmilyen műveletet.
A csomópont állításai:
Minden csomópont csak egy állapotban lehet. Ők:
- Inaktív
- Várakozás
- Végrehajtó
- Végső
- Iteráció_Vége
- Hiányában
- Befejezett
Csomópont átmenet:
- SkipCondition T : Az átugrási feltétel ismeretlenről vagy hamisról igazra változik.
- StartCondition T : A kezdési feltétel ismeretlen vagy hamisról igazra változik.
- InvariantCondition F / U : A változatlan állapot igazról hamisra vagy ismeretlenre változik.
- EndCondition T : A végállapot igazra változik
- Ancestor_inv_condition F / U : Bármelyik ős invariáns állapota hamisra vagy ismeretlenre változik.
- Ancestor_end_condition T : Bármelyik ős végállapota igazra változik
- All_children_waiting_or_finished T : Ez akkor igaz, ha az összes gyermekcsomópont csomópont állapotban van vagy várakozás alatt van, vagy kész, és nincsenek más állapotok.
- Command_abort_complete T : Amikor a parancsművelet megszakítása befejeződött.
- Function_abort_complete T : A függvényhívás megszakítása befejeződött.
- Parent_waiting T : A csomópont (egy) szülője áttér a csomópont állapot várakozására.
- Parent_executing T : A csomópont (egyetlen) szülője áttér a csomópont állapot végrehajtására.
- RepeatCondition T / F : az ismétlési feltétel ismeretlenről igazra vagy hamisra változik.