Det är för närvarande svårt att bygga praktiska och tillförlitliga programmeringssystem av distribuerade och resursanpassade sensorenheter. Den senaste tekniken i dagens sensornät programmering är centrerad kring ett komponentbaserat språk som kallas nesC. nesC är en nodelevel språk-ett program skrivs för en individuell nod i nätverk-och nesC-program använder tjänsterna i ett operativsystem som kallas TinyOS. Vi följer en strategi för programmeringssensornätverk som avsevärt höjer graden av abstraktion över denna praxis. Den kritiska förändringen är ett perspektiv: istället för att skriva program utifrån en individuell nod genomför programmerare ett centralt program som konceptuellt har tillgång till hela nätverket. Detta tillvägagångssätt driver till kompilatorn uppgiften att producera nod-nivå program som genomför det önskade beteendet. Vi presenterar Plejades programmeringsspråk, dess kompilator och dess körtid. Språket Plejades utökar C-språket med konstruktioner som gör det möjligt för programmerare att namnge och komma åt nod-lokal stat inom nätverket och att ange enkla former av samtidig körning. Kompilatorn och runtime systemet samarbetar för att genomföra Pleiades program effektivt och tillförlitligt. För det första använder kompilatorn en ny programanalys för att översätta Plejades-program till meddelandeeffektiva arbetsenheter som implementeras i nesC. Plejades runtime system iscensätter utförandet av dessa enheter, med hjälp av TinyOS-tjänster, över ett nätverk av sensornoder. För det andra använder kompilatorn och körtidssystemet nya detekterings-, dödläges- och återställbarhetsalgoritmer som garanterar serialisering inför samtidig körning. Vi illustrerar den läsbarhet, tillförlitlighet och effektivitet fördelar av Plejades språk genom detaljerade experiment, och visar att Plejades genomförande av en realistisk ansökan utför liknande en handkodad nesC version som innehåller mer än tio gånger så mycket kod.
Pleiades REF sammanställer ett centralt program skrivet i ett utökat C-språk med modellen för att få tillgång till hela nätverket i flera enheter för att köra på sensornoder.
Reliable and efficient programming abstractions for wireless sensor networks
{'venue': "PLDI '07", 'journal': None, 'mag_field_of_study': ['Computer Science']}