nesc

NESC is een uitbreiding van de C-programmeertaal die is ontworpen om de structureringconcepten en uitvoeringsmodel van Tinyos te belichamen.
Download nu

nesc Rangschikking & Samenvatting

Advertentie

  • Rating:
  • Vergunning:
  • GPL
  • Prijs:
  • FREE
  • Naam uitgever:
  • nesC Team
  • Uitgever website:

nesc Tags


nesc Beschrijving

NESC is een uitbreiding van de C-programmeertaal die is ontworpen om de structureringsconcepten en uitvoeringsmodel van Tinyos te belichamen. NESC is een uitbreiding van de C programmeertaal ontworpen om de structurering conceptie en de model van TinyOS belichamen. TinyOS is een event driven bedrjfssysteem sensornetwerk knooppunten die zeer beperkte middelen (bijvoorbeeld 8K bytes van programmageheugen, 512 bytes RAM) .De basisconcepten NESC zijn: · Scheiding van constructie en samenstelling: programma's ingebouwd uit componenten die worden samengevoegd ( "wired") om hele programma's. Onderdelen hebben interne concurrency in de vorm van taken. Controle threads kan overgaan in een component via de interfaces. Deze draden zijn ofwel geworteld in een taak of een hardware-interrupt. · Specificatie van component gedrag op het gebied van set van interfaces. Interfaces kunnen worden verschaft of gebruikt door componenten. De verstrekte interfaces zijn bedoeld om de functionaliteit die de component bevat om de gebruiker ervan te vertegenwoordigen, de gebruikte interfaces vertegenwoordigen de functionaliteit van het onderdeel nodig heeft om zijn taak uit te voeren · Interfaces zijn bidirectioneel. Ze een set van taken aan te geven moeten worden uitgevoerd door aanbieder van de interface ( commando's) en een set uit te voeren door de gebruiker van de interface (events). Dit kan één interface naar een complexe interactie tussen componenten (bijvoorbeeld registratie van belang in bepaalde gebeurtenis, gevolgd door een callback wanneer deze gebeurtenis plaatsvindt) te vertegenwoordigen. Dit is essentieel omdat alle langdurige opdrachten in TinyOS (bijvoorbeeld stuur packet) niet-blokkerende; de voltooiing wordt gesignaleerd door een gebeurtenis (stuur gedaan). Door het opgeven van interfaces, kan een component niet bellen met de opdracht send tenzij het biedt een implementatie van de sendDone evenement. · Normaal gesproken commando's oproep naar beneden, dat wil zeggen, uit de toepassing componenten die dichter bij de hardware, terwijl de gebeurtenissen naar boven te roepen. Bepaalde primitieve gebeurtenissen zijn gebonden aan hardware interrupts. · De componenten zijn statisch met elkaar verbonden via hun interfaces. Dit verhoogt runtime-efficiëntie, stimuleert rubust ontwerp, en zorgt voor een betere statische analyse van de programma's. · NESC is ontworpen onder de verwachting dat de code wordt gegenereerd door het hele programma compilers. Dit moet ook zorgen voor een betere code genereren en analysis.What is er nieuw in deze release: - C preprocessor is geïntegreerd in NESC, die aanzienlijk moet versnellen compilatie - ondersteuning van de adjunct-type-safety-for-C-systeem (in het bijzonder op Windows.) (zie deputy.cs.berkeley.edu). Adjunct gebruiken, moet u typeannotaties toe te voegen aan uw NESC code, dan compileren met de -fnesc-plaatsvervanger vlag. Een bos van kleine veranderingen in NESC ondersteunen het gebruik van plaatsvervanger. Vlaggen naar nescc: -fnesc-afgevaardigde: gebruik Deputy in deze compilatie. Je moet een versie van plaatsvervangend voor gebruik aangepast met NESC voor deze geïnstalleerd om werk te hebben. -fnesc-adjunct-argumenten: extra argumenten die worden doorgegeven aan Deputy. -fnesc-default-safe / -fnesc-default-onveilig: de standaard veiligheid voor de C-functies en NESC modules (zonder optie opgegeven, -fnesc-default-onveilig wordt aangenomen) Type annotaties: NONULL, COUNT (...), etc (zie de adjunct-for-NESC documentatie voor meer informatie), die in feite zijn macro's die uit te breiden naar NESC attributen (@nonnull (), @count (...), etc. met behulp van macro's maakt adjunct-geannoteerde code te gebruiken . met eerdere versies van NESC typeannotaties in nesdoc opmerkingen: om rommel voor niet-vice-gebruikers te verminderen, kunnen Afgevaardigde annotaties binnen een nesdoc reactie worden geplaatst in plaats van in een functie handtekening (die dan ziet eruit als een gewone handtekening C): / ** ... param 'int * @ count (n) x' x een reeks van n integers ... * / void f (int * x, int n) gelijk is aan void f (int * @ count ( n) x, int n); Macro's kunnen worden toegepast bij de reactie, zodat het kan ook boven / ** ... param zijn 'int * COUNT (n) x' x een reeks van n integers ... * / void f (int * x, int n), waarbij COUNT (expr) expandeert tot @count (expr) .- inwendige ondersteuning (in ne SC1) voor adjunct gebaseerd op @deputy_scope () en @macro ( "NAME") attributen en een -fnesc-genprefix = option.- @macro () en -fnesc-genprerix = kan nuttig zijn in andere contexten te zijn: als een NESC kenmerk stellen en een @macro () attribuut: struct @myattr @macro ( "MYMACRO") {int x; char * y; }; dan gebruik van @myattr in NESC bron worden uitgevoerd als oproepen MYMACRO het intermediair C output NESC's. Bijvoorbeeld int x @myattr (23, "fun"); wordt int x MYMACRO (23, "fun"); De -fnesc-genprefix = draagt bij aan de start van de gegenereerde C output, bijvoorbeeld, kan het een #define definitie van MYMACRO of een # include van een bestand met de juiste definitions.- brede strings in XML-uitvoer nu weergegeven als arrays bytes (en volg de target byte-niveau weergave van breed strings) - vermogen om een C-bestand door middel van NESC (dit biedt ondersteuning in C voor de externe types, atomaire statements en unieke) te verwerken, als volgt: nescc -x NESC .c deze krachten nescc het bestand C .c pass NESC compiler (normaal aan de reguliere C compiler gestuurd), waarbij de verlengingen NESC zal verwerken en compileren de gegenereerde code C met regelmatige C compiler (of welke compiler opgegeven met -fnesc-gcc = ...) - in een module, kunt u nu schrijven void f (void) of void f () uitwisselbaar


nesc Gerelateerde software

refactor

Refactor is een VIM-plug-in die de functionaliteit van een C / C ++-refactoring tool biedt. ...

81

Downloaden