Miesiąc temu pisałem:
Mechatronika i notacja SysML ma swoje początki w latach 90-tych. Modele w tej notacji powstawały już w firmie Boeing (Herrold, 2016). Od tamtej pory powstało wiele publikacji na ten temat, w tym także opisy dobrych praktyk jakimi są wzorce projektowe (Barbieri, Kernschmidt, Fantuzzi & Vogel-Heuser, 2014). Można spotkać coraz częściej publikacje na temat stosowania metod projektowania opartych na SysML (Van Noten, Gadeyne & Witters, 2017).Moim celem było tu zwrócenie uwagi na tę w sumie nową dziedzinę inżynierii, ważne by nie utożsamiać jej jedynie z robotyką, bo było by to ogromne uproszczenie, co mam nadzieję pokazałem powyższymi przykładami. (źr.: Inteligentna pralka czyli czym jest mechatronika)
Dzisiaj kontynuacja: kilka słów o zastosowaniach i polecana literatura.
To co nazywamy inżynierią systemów, to multidyscyplinarna dziedzina wiedzy. Założeniem podstawowym jest uznanie, że na etapie analizy i projektowania system (jego model) jest abstrakcją jakiejś implementacji, która nie jest znana. Wiemy także, że obecnie komponenty wszelkich urządzeń to albo elementy mechaniczne (materialne) albo realizujące ich funkcje oprogramowanie (a konkretnie komputer czyli procesor i pamięć oraz program). Komputer jest tu często postrzegany jako ‘uniweralny mechanizm’ (patrz także ww. artykuł o pralce: programator mechaniczny vs. elektroniczny). Poniżej podstawowe zastosowanie notacji SysML i cele jej użycia:
Celem jest opisanie urządzenia w postaci systemu współpracujących komponentów (modułów, bloków funkcjonalnych) i wskazanie (zdecydowanie na etapie projektowania) jakiego typu są to (będą) konstrukcje (mechaniczna, elektromechaniczna, elektroniczna, będąca komputerem czyli w grę wchodzi napisanie oprogramowania) oraz opisanie ich współdziałania.
Ogólnie proces tworzenia systemu można zobrazować tak:
Składa się on z trzech kluczowych faz: specyfikowanie, projektowanie i wykonanie komponentów, zestawienie całości i oddanie do użytku. Inżynieria systemów, na etapie projektowania, całkowicie abstrahuje od implementacji i jej szczegółów. Potrzeba ta pojawiła się wraz ze wzrostem złożoności takich konstrukcji jak np. samoloty. Cykl życia projektu systemu i jego samego (np. samolot lub pociąg), gdy składa się on z setek tysięcy detali, jest niemożliwy do zarządzania bez opracowania jego abstrakcyjnej uogólnionej postaci. Warto zwrócić uwagę, że takim złożonym systemem jest także np. nowoczesna fabryka.
W latach 90-tych opracowano (na początku lat 2000 opublikowało OMG.org) notację SysML (rozszerzenie UML) pozwalająca opisać dowolny system na poziomie komponentów i związków między nimi, w całkowitym oderwaniu od ich implementacji .
Filozofia SysML opera się na dwóch kluczowym strukturach: jest to drzewiasta struktura definiująca typy komponentów i ich zależności całość-część (block definition diagram) oraz struktura obrazująca współdziałanie konkretnych komponentów określonych typów (internal block diagram). Poniżej obrazowy przykład tych dwóch struktur dla samochodu:
SysML, jako metoda modelowania, ma swoją pozycję i kontekst wśród innych:
Standard MBSE (Model-based Systems Engineering) to podejście do inżynierii oparte na modelowaniu (Prezentacja SysML). Jest to niejako kontynuacja abstrakcji “w górę” począwszy od metod takich jak CAD/CAM czyli metod projektowania opartych na rysunku technicznym i modelach 3D. Jak wspomniałem, praktycznie każde urządzenie można skonstruować jako zespół komponentów mechanicznych i będących komputerem. Jeżeli “wzniesiemy” się na wyższy poziom abstrakcji, będzie na poziomie notacji SyML. Schematycznie można to pokazać tak:
Powyższe ilustracje zaczerpnąłem z książki “A Practical Guide to SysML The System Modeling Language” . Książka zwięzły opis notacji SysML oraz przykłady, dlatego jej walory edukacyjne są nie do przecenienia. Autorzy bardzo dokładnie, na wielu przykładach, opisali jak prowadzić cały proces modelowania i jak organizować modele np. z pomocą w systemów CASE. Książka także krótki, ciekawy rozdział o tym, jak wdrożyć w organizacji inżynierskiej kulturę modelowania i tę notację.
Teraźniejszość uczy, że “monodziedzinowość” projektów powoli odchodzi do lamusa. Prawdę mówić komputer, jaki każdy kto to teraz czyta ma przed oczami, to urządzenie mechatroniczne. Każdy robot przemysłowy w szczególności także nim jest.
Druga książka, którą chciałbym polecić to “SysML for Systems Engineering”. Autorzy tej książki skupili sie na samej notacji, tu przykłady (w przeciwieństwie do poprzedniej) są na drugim planie, dlatego ta pozycja to raczej podręcznik.
Druga książka, którą chciałbym polecić to “SysML for Systems Engineering” . Autorzy tej książki skupili sie na samej notacji, tu przykłady (w przeciwieństwie do poprzedniej) są na drugim planie, dlatego ta pozycja to raczej podręcznik.
Sformalizowane graficzne (albo piktorialne) języki wyrazu, są standardem w każdej inżynierii. Szybko rosnąca złożoność elementów naszego otoczenia, powodują, że inżynieria jako taka, szybko staje się dziedziną wiedzy skupiona wokół projektowania systemów. Ich fizyczna implementacja to rzemiosło (ang. craftsmanship), co absolutnie nie znaczy, że rzemieślnik jest kimś złym. Podział taki – projektowanie i wykonanie – funkcjonuje od setek lat, wszedł już nawet na dobre do inżynierii oprogramowania.
Trzecia to Systems Engineering with SysML/UML. Modeling, Analysis, Design .
UML, był pierwszym językiem opisu i modelowania zaprojektowanym w celu spełnienia wymogu “uniwersalności”. Jest postrzegany jako język specyficzny dla oprogramowania i nie wspiera potrzeb inżynierów projektujących z szerszej perspektywy systemowej. W konsekwencji powstał SysML. Stale zyskuje on na popularności, a wiele firm, zwłaszcza z silnie regulowanych branż: Defense, Automotive, Aerospace, Medical Device i Telecomms, używa SysML. Na rynku nadal dostępnych jest niewiele informacji na temat SysML. Jego użycie jest dopiero na progu upowszechnienia się, dlatego tysiące inżynierów oprogramowania zaczyna poszukiwać szkoleń i zasobów. Ta książka będzie służyć jako kompleksowy, ostateczny przewodnik, który zapewni wprowadzenie do SysML i instrukcje, jak go wdrożyć, dla wszystkich tych nowych użytkowników. (na podstawie wstępu).
Pozycje te doskonale sie uzupełniają. Oczywiście zawsze warto pamiętać, że źródło jest na stronie OMG.org .
Dla przerażonych nową wiedzą do pozyskania (pierwsza książka 600 stron, druga 300, niestety obie tylko import), być może dobrą na początek będzie cieniutka pozycja “Język inżynierii systemów SysML: architektura i zastosowania : profile UML 2.x w praktyce” , jednak uprzedzam, że to tylko krótki opis samej notacji.
Czy to działa? jeden z czołowych dostawców systemów CAD/CAM pisze (źr. pod cytatem, nie mam żadnej umowy z firmą Siemens):
W czasach gdy nowoczesne produkty mogą zawierać elementy mechaniczne, elektroniczne, elektryczne i oprogramowanie, trudno jest sobie wyobrazić użycie narzędzia do modelowania, które może uwzględnić tylko ograniczony dziedzinowo zestaw schematów blokowych (np. tylko mechaniczne). Zwłaszcza, że każda z tych dziedzin będzie prawdopodobnie zawierać wiele własnych podsystemów, które integrują się w większy system systemów. Nasze [Siemens, mój przypis] zaangażowanie w SysML v.2. ma kluczowe znaczenie dla przyszłości rozwoju projektowania – kompleksowe modelowanie MBSE zapewnia szybsze podejmowanie lepszych decyzji. Eliminuje ryzyko i poprawia jakość projektów poprzez optymalizację i weryfikację szerzej pojmowanej definicji architektury produktu. Przełamuje granice pomiędzy dziedzinowymi działami rozwojowymi, aby osiągnąć interoperacyjność i wymianę wiedzy w całym łańcuchu wartości. Będziemy kontynuować naszą pracę jako aktywny partner w opracowywaniu standardu języka modelowania następnej generacji oraz zgodnego z nim rozwiązania MBSE, aby zrewolucjonizować sposób, w jaki firmy tworzą, udostępniają i optymalizują systemy w całym przedsiębiorstwie.
Polecam także to: