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
Mikrokontrolery i IoT
Infineon i RT-Labs zintegrowali sześć kluczowych protokołów komunikacji przemysłowej z mikrokontrolerami XMC7000
Komunikacja
Leuze wprowadza nowe skanery laserowe LiDAR do precyzyjnego pomiaru konturów
Komunikacja
Lantronix i TD SYNNEX poszerzają współpracę – zaawansowane rozwiązania IIoT i infrastruktury sieciowej dostępne w całej Europie
Produkcja elektroniki
DMASS podsumował 2024 rok
Komponenty
DigiKey i SparkFun współpracują w zakresie dostarczania zestawów robotycznych XRP
Pomiary
Nowa seria ultraszybkich digitalizerów GHz od Spectrum Instrumentation
Zobacz więcej z tagiem: Aktualności
Gospodarka
Contrans współpracuje z EPT
Gospodarka
NXP zamierza zwolnić 1600 pracowników
Gospodarka
POLYN Technology wprowadza innowacyjny zestaw ewaluacyjny do monitorowania opon
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