Page 10 of 23

Języki programowania w safety-critical

W poprzednim artykule opisywałem ogólne techniki zalecane przy developmencie systemów safety-critical. Dzisiaj natomiast przyjrzymy się bliżej zaleceniom dotyczącym języków programowania. Wiemy już, że język używany w tego typu systemach powinien być kompilowany i silnie typowany. Jakie jeszcze wymagania powinien spełniać? Jakie języki wykorzystywane są w praktyce? Poniżej znajdziesz odpowiedzi na te pytania.

Continue reading

Techniki zalecane przy tworzeniu systemów safety-critical

Jak wspomniałem w poprzednim wpisie, normy definiują różne poziomy bezpieczeństwa w zależności od możliwych skutków błędnego działania systemu. Tym poziomom odpowiadają konkretne wskaźniki statystyczne. O ile sprawdzają się one w przypadku układów psujących się w sposób łatwy do opisania prawdopodobieństwem – jak na przykład części elektroniczne – to soft zawiera częściej błędy systematyczne, czyli po prostu bugi. Poza tym wymaganych statystyk nie da się zmierzyć, ani przewidzieć na etapie projektowania. Zamiast tego tworząc software powielamy pewne rozwiązania, które sprawdziły się w istniejących systemach. Polecane rozwiązania są często opisane w normach. Przyjrzymy się więc dzisiaj praktykom zalecanym przez normę kolejową EN50128.

Continue reading

Podcast, artykuł i newsletter

Ostatnio byłem gościem Grzegorza z devsession.pl w podcaście „Ja, programista”, gdzie rozmawialiśmy o systamach embedded:

Ja, programista – Maciej Gajdzica – systemy Embedded

Ukazał się również mój gościnny artykuł na Forbot.pl o różnicach między pisaniem projektów embedded komercyjnie i hobbystycznie:

3 różnice w programowaniu: hobbystycznie vs. komercyjnie

W tym tygodniu ruszyłem również z newsletterem. Będę tam opisywał różne nowości na blogu i zamieszczał materiały z internetu o embedded, safety-critical i robotyce. Jako bonus przy zapisaniu dorzucam dokument „Jak zwiększyć jakość kodu w projektach embedded? – darmowe narzędzia”. Formularz zapisu jest dostępny po kliknięciu w dokument w menu bocznym i pod każdym wpisem. Dodałem również na stronę feedy z Facebooka i Twittera. Szczególnie na Facebooku zamieszczam ostatnio sporo materiałów i teraz są widoczne również na stronie.

 

Poziomy bezpieczeństwa w systemach safety-critical

Nie każdy system jest tak samo krytyczny dla bezpieczeństwa. Nawet jeżeli wiele różnych systemów znajduje się na przykład w samolocie, nie oznacza to, że każdy z nich został wykonany wykorzystując tak samo rygorystyczne techniki. W końcu inaczej podejdziemy do tworzenia systemu sterowania lotem, a inaczej do systemu infotainment wyświetlającego pasażerom filmy podczas lotu. W tym artykule przyjrzymy się jakie poziomy bezpieczeństwa zostały zdefiniowane w różnych normach i czym się kierowano przy ich definiowaniu.

Continue reading

V-model – proces wytwarzania systemów safety-critical

Analiza błędnie działających systemów safety-critical takich jak Therac-25, czy Ariane-5, a także doświadczenie z wielu projektów zakończonych sukcesem doprowadziły do konkluzji, że same umiejętności inżynierów to za mało, aby zapewnić niezawodność systemów. W tym celu niezbędny jest odpowiedni proces wytwarzania oprogramowania. Takie procesy zostały opisane w normach regulujących wytwarzanie oprogramowania dla urządzeń medycznych, samolotów, pociągów, czy elektrowni atomowych. Większość z tych norm opiera się na tym samym procesie zwanym V-modelem. W tym artykule omówię jego założenia.

Continue reading

Łazik z NASA Space Apps Challenge – szczegóły techniczne

Ostatnio pisałem relację z NASA Space Apps Challenge. Dzisiaj pora na trochę szczegółów technicznych dotyczących naszej konstrukcji. Wybraliśmy temat „Can you build a …” i podtemat „Make Sense Out of Mars”. Celem było stworzenie sensora, który mógłby pomóc pierwszym kolonizatorom Marsa. Naszym czujnikiem był oczywiście łazik. Jego zadaniem miało być zbieranie informacji o najbliższym otoczeniu obozowiska z uwzględnieniem zróżnicowania terenu i potencjalnych niebezpieczeństw takich jak np. doły i kratery.

Continue reading

NASA Space Apps Challenge 2018

W ostatni weekend brałem udział w NASA Space Apps Challenge. Jest to hackaton NASA organizowany jednocześnie w wielu miejscach na świecie. Polska edycja miała miejsce w Gdańsku w Parku Naukowo-Technologicznym. Zebraliśmy ekipę z pracy i postanowiliśmy zrobić łazika marsjańskiego. Jak to zwykle bywa w projektach, gdzie brakuje czasu – psuło się praktycznie wszystko. Jednak ostatecznie udało się zbudować coś co nawet jeździło i w nagrodę będziemy mogli wystrzelić naszego łazika w kosmos! O szczegółach technicznych konstrukcji zrobię osobny wpis (dostępny tutaj), a dzisiaj skupię się na opisie samego wydarzenia.

Continue reading

4Developers Gdańsk 2018

W ostatnim tygodniu września byłem jeszcze na jednej konferencji przed opisywanym ostatnio Programistokiem – na 4Developers Gdańsk, która odbyła się we wtorek 25 września. Był to dla mnie debiut w roli prelegenta. Moja prezentacja o systemach safety-critical odbyła się o 14.00 na ścieżce C++. Przez cały dzień uczyłem również w konferencji jako słuchacz. Głównie właśnie na ścieżce C++.

Continue reading

Programistok 2018 – relacja

Już ponad tydzień minął od Programistoku (28-29.09.2018) było to dla mnie przełomowe wydarzenie, dlatego wymaga odpowiedniej relacji 🙂 Wiele się nasłuchałem o fantastycznej atmosferze tego wydarzenia i chciałem koniecznie pojechać. Rzuciłem się od razu na głęboką wodę i zgłosiłem się na prelegenta. Jak się okazało, była to świetna decyzja.

Continue reading