#1 Spotkanie Gdańsk Embedded Meetup
Szczegóły#
Zapraszam na pierwsze spotkanie Gdańskiego Meetupu Embedded we wtorek 8 października w Sztuce Wyboru (ul. Słowackiego 19).
Harmonogram#
- 18.00 Adam Lasota - "Model Based Design"
- 18.50 Przerwa na pizzę
- 19.10 Piotr Strzałkowski - "Wprowadzenie do Ady"
Partnerzy pierwszego spotkania:#
Solwit: https://solwit.com/
Dzięki nim udało nam się ogarnąć nową salę, zapewniają też pizzę i napoję.
Hackerspace Trójmiasto: https://hs3.pl/
Dzięki nim mieliśmy pierwotną salę wykładową i miejsce do spotkań organizacyjnych.
Jetbrains: https://www.jetbrains.com/
Dzięki nim będziemy mieli do rozdania licencję na CLion albo dowolny inny ich produkt.
ST Microelectronics: https://www.st.com/
Dzięki nim będziemy mieli do rozdania eval boardy.
Opis#
Zarówno technika Model Based Design, jak i język Ada mogą być dla niektórych z Was nieco tajemnicze. Dlatego zacznijmy od małego wprowadzenia, czym one właściwie są.
Model Based Design to technika tworzenia oprogramowania za pomocą diagramów, z których następnie automatycznie generowany jest kod. Dzięki niej możemy między innymi rozmawiać z ekspertami domenowymi wykorzystując zrozumiałe abstrakcje, a także generować testy i symulacje zachowujące to samo działanie co kod produkcyjny. Model Based Design jest chętnie wykorzystywany w systemach safety-critical na przykład dla lotnictwa. Jest nieoceniony przy implementacji algorytmów z Teorii Sterowania. Wykorzystuje się go również w innych typach oprogramowania embedded.
Ada to język programowania zaprojektowany z myślą o systemach safety-critical. Powstał pod koniec lat 70-tych na zlecenie departamentu obrony USA na potrzeby oprogramowania do myśliwców. Jest chętnie wykorzystywany wszędzie tam, gdzie priorytetem jest bezpieczeństwo i niezawodność - w wojsku, lotnictwie, kolei, czy branży kosmicznej. Filozofia Ady jest zupełnie odwrotna od C. Ada eliminuje wiele potencjalnie niebezpiecznych konstrukcji już w momencie kompilacji. Ostatnio bardzo popularny jest oparty na podobnej koncepcji język Rust. Adę można z powodzeniem stosować również w embedded, gdzie pomocne będą nie tylko mechanizmy obrony przed np. przepełnieniem tablic, ale również wysokopoziomowe abstrakcje jak klasy, czy interfejsy.