Page 2 of 15

Podsumowanie roku 2018

Okres świąteczno – noworoczny to czas na podsumowania, zapraszam więc do mojego przeglądu najważniejszych wydarzeń kończącego się roku.

Continue reading

Ile kosztuje system safety-critical?

Zwykle przyjmujemy, że koszt wytworzenia systemu safety-critical spełniającego wymagane normy jest dziesięciokrotnie wyższy, niż zwykły projekt posiadający te same wymagania funkcjonalne. Po przeczytaniu poprzednich części serii powinniście mieć całkiem dobre wyobrażenie skąd biorą się dodatkowe koszty. W tym artykule omówię koszty developmentu, zewnętrznego kodu i narzędzi.

Continue reading

SOUP – Wykorzystanie zewnętrznego softu w safety-critical

W większości projektów, gdy mamy możliwość wykorzystania jakiegoś istniejącego rozwiązania, w ogóle się nie zastanawiamy. Dużo publicznego kodu znajdziemy na GitHubie, a w JavaScripcie wychodzi tyle nowych bibliotek, że są one nawet częścią pijackiej gry. Jak już pewnie się domyślacie – w systemach safety-critical sytuacja jest zgoła odmienna. Użycie zewnętrznego kodu podlega specjalnym procedurom i w normach nazywane jest właśnie tytułowym akronimem SOUP, czyli Software of Unknown Provenance, lub Software of Uncertain Pedigree. Nazwy te od razu zwracają uwagę na podstawowy problem tego softu – jego nieznane pochodzenie, historię i proces wytwarzania.

Continue reading

Analiza ryzyka w systemach safety-critical

Było już o technikach wykorzystywanych na poziomie projektu i kodu oraz o wpływie języka programowania na bezpieczeństwo. Dzisiaj odpowiemy sobie na pytanie w jaki sposób zarządzać ryzykiem, wykrywać potencjalnie niebezpieczne zachowania i dodawać odpowiednie środki zaradcze do projektu.

Continue reading

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

© 2019 ucgosu.pl

Theme by Anders NorénUp ↑