Seminarium: Systemy Rozproszone
23 października 2014, godzina 12:15, sala 4070
Michał Ciszewski

Nowa generacja kompilatorów dla internetu rzeczy



Inteligentny pył oraz internet rzeczy to nowe kierunki w dziedzinie systemów rozproszonych, które są rozwijane od początku lat 90. XX wieku. Cechy urządzeń wchodzących w skład tych systemów to niewielki rozmiar, znacznie ograniczone zasoby obliczeniowe oraz zintegrowanie układów służących do komunikacji i sensorów. Są one jednym z wyznaczników wymagań wobec systemu operacyjnego oraz języka programowania dla takich urządzeń. System operacyjny TinyOS oraz język NesC zostały zaprojektowane w celu sprostania tym wymaganiom i istotnie różnią się od swoich odpowiedników w świecie komputerów osobistych, m.in. w sposobie kompilacji programów.

TinyOS i NesC posiadają wsparcie dla wielu platform miniaturowych urządzeń. Niestety, obecnie brakuje pełnej obsługi popularnej rodziny mikrokontrolerów, wywodzących się od układu Intel 8051. Mikrokontrolery rodziny 8051 charakteryzuje odmienność od urządzeń, dla których TinyOS i NesC są aktualnie dostępne: posiadają niewielki sprzętowy stos, używają techniki bankowania pamięci w celu powiększenia przestrzeni adresowej kodu oraz nie mają dedykowanej wersji kompilatora GCC. Kompilacja języka NesC na taką platformę jest trudnym i jednocześnie ważnym problemem.

Na seminarium najpierw krótko opiszę inteligentny pył oraz internet rzeczy. Następnie przedstawię najważniejsze koncepcje systemu operacyjnego TinyOS oraz języka NesC wraz z jego składnią i semantyką. Potem omówię nowy kompilator oraz wtyczkę do środowiska Eclipse dla języka NesC, rozwijane na naszym wydziale w ramach projektu wNesC. Kolejna, ostatnia część prezentacji będzie poświęcona architekturze mikrokontrolerów 8051 i jej cechom, wpływającym na sposób kompilacji programów w języku NesC.

Zapraszam!
Michał Ciszewski

Bibliografia: