Koszty mogą wzrosnąć, jeśli bug nie zostanie wykryty dostatecznie szybko - błędy mają tendencję do szybkiego namnażania się - każdy niewłaściwie działający komponent może spowodować usterki w pracy pozostałych. Programiści korzystają z wielu sposobów wyszukiwania błędów i ich poprawiania. Jedno z ciekawszych rozwiązań w tej kwestii zaproponowała firma Percepio wypuszczając na rynek nowy produkt - DevAlert.
Jak działa DevAlert?
DevAlert to oparte na chmurze obliczeniowej rozwiązanie informujące programistę na bieżąco o wykrytych błędach w oprogramowaniu urządzenia. Całość składa się z 3 współpracujących ze sobą elementów. Pierwszym z nich jest firmware zainstalowany bezpośrednio w monitorowanym urządzeniu. W przypadku wykrycia anomalii bądź zakłócenia, podczas pracy urządzenia wysyła on informacje o błędzie do drugiego elementu - chmury obliczeniowej Amazon AWS IoT Core. Otrzymane w ten sposób informacje są analizowane przez system klasyfikacyjny. Jeśli anomalia zostanie zakwalifikowana jako bug, developer otrzymuje na bieżąco powiadomienie wraz z opisem błędu. W przypadku, w którym ten sam błąd wystąpi na wielu monitorowanych urządzeniach jednocześnie, powiadomienie wysyłane jest tylko raz. Ostatnim elementem DevAlertu jest graficzny interfejs diagnostyczny Tracealyzer, pozwalający twórcom na szybkie zwizualizowanie i naprawienie usterki.
Dzięki decentralizacji systemu na trzy części DevAlert może znaleźć swoje zastosowanie w systemach IoT w których inne, podobne, rozwiązania nie byłyby możliwe ze względu na zbyt ograniczoną pamięć. Wykorzystanie narzędzia firmy Percepio nie wymaga również istotnych zmian w kodzie - odwołanie się do API DevAlertu może odbywać się razem z istniejącymi już w kodzie procedurami obsługi błędów. Obecnie DevAlert wspiera wszystkie rozwiązania IoT oparte na mikrokontrolerach STM32 i systemach operacyjnych czasu rzeczywistego FreeRTOS i ThreadX. Developerzy planują w przyszłości rozszerzenie funkcjonalności również na inne systemy. (PM)