DevAlert - interesująca koncepcja zwalczania błędów w oprogramowaniu

Błędy w oprogramowaniu, zwane potocznie bugami, są codziennością dla każdego programisty. W trakcie pracy nad programem można napotkać ich średnio 50 na tysiąc linijek kodu zanim oprogramowanie będzie w pełni funkcjonalne (wg Steve McConnell - Code Complete). Prawdziwym problemem są dopiero błędy odkryte już po wypuszczeniu produktu na rynek. Nie tylko psują one wizerunek firmy - nikt przecież nie chce kupować wadliwego oprogramowania - ale narażają również na dodatkowe koszty związane z akcją serwisową.

Posłuchaj
00:00

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.

 
Schemat organizacyjny rozwiązania DevAlert
 
Okno programu Traceanalyzer

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)

Powiązane treści
Oprogramowanie w aplikacjach IoT – coraz bardziej istotne
Splunk kupuje za miliard dolarów SignalFx - firmę zajmującą się oprogramowaniem chmurowym
Jak zapobiegać błędom i wydłużyć żywotność, czyli pamięci fail-safe
Zobacz więcej w kategorii: Gospodarka
Komponenty
Bosch, STMicroelectronics i TDK liderami globalnego rynku MEMS w 2025 roku – analiza Yole Group
Komponenty
Rynek chipsetów 5G przyspiesza – do 2032 roku osiągnie wartość 39 mld USD
Mikrokontrolery i IoT
Najmniejszy na świecie komputer z Intel Core 13. generacji – AAEON de next-RAP8 wkracza na rynek embedded
Projektowanie i badania
SoMLabs i Scythe Studio: partnerstwo w zakresie rozwiązań embedded
Optoelektronika
Unisystem – 30 lat ewolucji w świecie wyświetlaczy
Projektowanie i badania
Elektroniczna skóra dla robotów: tani, elastyczny i czuły materiał inspirowany ludzkim dotykiem
Zobacz więcej z tagiem: Aktualności
Gospodarka
Nordic Semiconductor przejmuje Neuton.AI i awansuje w dziedzinie sztucznej inteligencji brzegowej
Gospodarka
Digitalizacja pola walki postępuje
Gospodarka
Mouser Electronics po raz szósty z nagrodą Amphenol za najlepszą dystrybucję cyfrową komponentów elektronicznych
Zapytania ofertowe
Unikalny branżowy system komunikacji B2B Znajdź produkty i usługi, których potrzebujesz Katalog ponad 7000 firm i 60 tys. produktów