Nesc.

NESC ist eine Erweiterung der C-Programmiersprache, die die Strukturierung von Konzepten und das Ausführungsmodell von Tinyos ausgibt.
Jetzt downloaden

Nesc. Ranking & Zusammenfassung

Anzeige

  • Rating:
  • Lizenz:
  • GPL
  • Preis:
  • FREE
  • Name des Herausgebers:
  • nesC Team
  • Website des Verlags:

Nesc. Stichworte


Nesc. Beschreibung

NESC ist eine Erweiterung der C-Programmiersprache, die die Strukturierung von Konzepten und das Ausführungsmodell von Tinyos ausbilden soll. NESC ist eine Erweiterung der C-Programmiersprache, die die Strukturierung von Konzepten und das Ausführungsmodell von Tinyos ausbilden soll. Tinyos ist ein ereignisgesteuertes Betriebssystem, das für Sensornetzknoten ausgelegt ist, die sehr begrenzte Ressourcen (z. B. 8k Bytes des Programmspeichers, 512 Bytes RAM) aufweisen. Die Grundkonzepte hinter NESC sind: · Trennung von Bau- und Zusammensetzung: Programme sind erstellt aus Komponenten, die ("drahtgebunden") zusammengebaut werden, um ganze Programme zu bilden. Komponenten haben eine interne Parallelität in Form von Aufgaben. Die Steuerungsfäden können durch seine Schnittstellen in eine Komponente gelangen. Diese Threads sind entweder in einer Aufgabe oder einem Hardware-Interrupt verwurzelt. · Spezifikation des Komponentenverhaltens in Bezug auf Schnittstellen. Schnittstellen können von Komponenten bereitgestellt oder verwendet werden. Die bereitgestellten Schnittstellen sollen die Funktionalität darstellen, die der Komponente seinem Benutzer bereitstellt. Die verwendeten Schnittstellen stellen die Funktionalität dar, die Komponente darstellt, dass die Komponente seinen Job ausführen muss. · Schnittstellen sind bidirektional: Sie geben eine Reihe von Funktionen an, die vom Anbieter des Interforers implementiert werden soll ( Befehle) und ein Set, das vom Benutzer (Ereignisse) des Schnittstellens implementiert werden soll. Dadurch kann eine einzelne Schnittstelle eine komplexe Wechselwirkung zwischen Komponenten (z. B. Registrierung von Interesse in einem bestimmten Ereignis, gefolgt von einem Rückruf, wenn dieses Ereignis erfolgt) darstellt. Dies ist kritisch, da alle längeren Befehle in Tinyos (z. B. ein Senden von Paket) nicht blockierend sind; Ihre Fertigstellung wird durch ein Ereignis signalisiert (Senden Sie Fertig). Durch die Angabe von Schnittstellen kann ein Bauteil den Send-Befehl nicht anrufen, es sei denn, es bietet eine Implementierung des SendDone-Ereignisses. · Normalerweise rufen Befehle an, d. H., von Anwendungskomponenten, die näher an der Hardware, aufgerufen werden, während Ereignisse nach oben rufen. Bestimmte primitive Ereignisse sind an Hardware-Interrupts gebunden. · Komponenten sind über ihre Schnittstellen statisch miteinander verbunden. Dies erhöht die Laufzeiteffizienz, fördert das Rubust-Design und ermöglicht eine bessere statische Analyse von Programmen. · NESC ist unter der Erwartung konzipiert, dass der Code von Ganzprogramm-Compilern generiert wird. Dies sollte auch eine bessere Code-Generierung und Analyse ermöglichen. Was in dieser Version neu ist: - C Preprocessor ist in NEC integriert, was die Zusammenstellung (ESP. unter Windows) erheblich beschleunigen sollte - Unterstützung für das stellvertretende Typ-Safety-for-C-System (siehe deputy.cs.berkeley.edu). Um den Abgeordneten zu verwenden, fügen Sie Ihrem NESC-Code Typ Anmerkungen hinzu, dann kompilieren Sie mit der -FNESC-stellvertretenden Flagge. Ein paar kleine Änderungen des Nesc unterstützen die Verwendung von Stellvertreter. Flaggen zu NESCC: -FNESC-stellvertretend: Verwenden Sie den Abgeordneten bei dieser Zusammenstellung. Sie benötigen eine für den Einsatz mit dem Nesc installierten Nesc-Version, um mit dem Nesc zu arbeiten. -FNESC-Deputy-Args: Zusätzliche Argumente, um an den Abgeordneten zu gelangen. -FNESC-Default-Safe / -FNESC-Default-unsicher: Die Standardsicherheit für C-Funktionen und Nesc-Module (ohne angegebene Option, -FNESC-Default-unnatürlich wird angenommen) Typ Anmerkungen: nichtull, zählen (...), usw. (siehe die Deputy-For-Nesc-Dokumentation für alle Details), die tatsächlich von Makros sind, die sich auf NESC-Attribute (@nonnull (), @Count (...) usw. erweitern, usw., mit denen Makros verwendet werden kann Mit früheren Versionen von Nesc. Typische Anmerkungen in NESDOC-Kommentaren: Um das Unordnung auf nicht-stellvertretende Benutzer zu reduzieren, können die Anmerkungen des stellvertretenden Anmerkungen von den Abgeordneten in einem NESDOC-Kommentar aufgestellt werden, anstatt in einer Funktionszeichen (die dann wie eine normale C-Unterschrift aussieht): / ** ... @param 'int * @ count (n) x' x ist ein Array von n INT ... * / void f (int * x, int n); ist das gleiche wie ungültig f (int * @ count ( n) x, int n); Makros können im Kommentar verwendet werden, so könnte das oben genannte auch sein / ** ... @param 'int * count (n) x' x ist ein Array von n INTS ... * / void f (int * x, int n); wo zählen (expr) erweitert sich auf @Count (expr) .- interne Unterstützung (in ne SC1) für den Abgeordneten basierend auf @DePuty_Scope () und @macro ("Name") Attribute und A -FNESC-Genprefix = Option.- @macro () und -FNESC-GenPRERIX = kann auch in anderen Kontexten nützlich sein: Wenn a Die Erklärung der NESC-Attribut-Erklärung hat ein @macro () Attribut: struct @myattr @macro ("mymacro") {int x; char * y; }; Anschließend werden die Verwendung von @MYATTR in NESC-Quelle als Anrufe an MyMacro in Nescs Zwischenprodukt von Cs ausgegeben. Zum Beispiel int x @myattr (23, "Spaß"); wird int x mymacro (23, "spaß"); Das -FNESC-Genprefix = fügt den Start des erzeugten C-Ausgangs hinzu, z. von Bytes (und folgen Sie der Target-Byte-Ebene-Darstellung von Weiteinschränkungen) - Fähigkeit, eine C-Datei über NEC zu verarbeiten (dies bietet Unterstützung in C für externe Typen, atomare Anweisungen und einzigartig), wie folgt: NESCC -X NESC .C dies zwingt NESCC, die C-Datei .c durch den NESC-Compiler zu übergeben Mit -FNESC-GCC = ...) - In einem Modul können Sie jetzt ungültig f (void) schreiben oder void f () austauschbar


Nesc. Zugehörige Software

Sussie.

Sussie ist ein Versuch, einen leichten Skriptmotor mit Smalltalk als Sprache mitzuteilen. ...

187

Herunterladen