NesC - NesC

nesC ("NES-see" olarak telaffuz edilir) bir bileşen bazlı, olay odaklı Programlama dili için uygulamalar oluşturmak için kullanılır TinyOS platform. TinyOS bir çalışma ortamı dağıtılmış olarak kullanılan gömülü cihazlarda çalışmak üzere tasarlanmıştır kablosuz sensör ağları. nesC, C programlama dili TinyOS'ta uygulamaları çalıştırmak için bileşenler birlikte "kablolu". İsim nesC "ağa gömülü sistemler C" nin kısaltmasıdır.

Bileşenler ve arayüzler

nesC programları, tüm programları oluşturmak için bir araya getirilmiş ("kablolu") bileşenlerden oluşturulmuştur. Bileşenler, görev biçiminde dahili eşzamanlılığa sahiptir. Kontrol konuları, arayüzleri aracılığıyla bir bileşene geçebilir. Bu iş parçacıkları bir görevde veya bir donanım kesintisinde köklenir.

Arayüzler, bileşenler tarafından sağlanabilir veya kullanılabilir. Sağlanan arabirimlerin, bileşenin kullanıcısına sağladığı işlevselliği temsil etmesi amaçlanır, kullanılan arabirimler, bileşenin işini gerçekleştirmek için ihtiyaç duyduğu işlevselliği temsil eder.

NesC'de arayüzler çift yönlüdür: Arayüz sağlayıcısı (komutlar) tarafından uygulanacak bir dizi işlevi ve arayüzün kullanıcısı (olaylar) tarafından uygulanacak bir seti belirtirler. Bu, tek bir arayüzün bileşenler arasındaki karmaşık bir etkileşimi temsil etmesine izin verir (örneğin, bazı olaylarda ilgili kayda alma, ardından bu olay gerçekleştiğinde bir geri arama). Bu kritiktir çünkü TinyOS'taki tüm uzun komutlar (örn. Paket gönder) engelleme yapmaz; tamamlandıkları bir olay aracılığıyla bildirilir (gönderme tamamlandı). Arabirimleri belirterek, sendDone olayının bir uygulamasını sağlamadığı sürece bir bileşen send komutunu çağıramaz. Tipik olarak komutlar aşağı doğru, yani uygulama bileşenlerinden donanıma daha yakın olanlara doğru, olaylar yukarı doğru çağırır. Bazı ilkel olaylar, donanım kesintilerine bağlıdır.

Bileşenler, arayüzleri aracılığıyla statik olarak birbirine bağlıdır. Bu, çalışma zamanı verimliliğini artırır, sağlam tasarımı teşvik eder ve programların daha iyi statik analizine izin verir.

Dış bağlantılar