Jaka jest sytuacja ogólna na świecie każdy wie, szkoda strzępić bity. U mnie w automotive jest bardzo źle, te idiotyzmy tworzone przez wszelakie managerstwa wybuchły całej branży w twarze. No i gdzieś od sierpnia zeszłego roku zarabiam co najwyżej jakieś drobne, nie pokrywające kosztów życia. Na szczęście mam zapasy i nie mam żadnych kredytów, więc nie muszę zaraz iść na zmywak żeby mieć na jedzenie, więc nie jest źle. Chociaż zużywanie zapasów już teraz nie jest optymalne, teraz jeszcze powinno przybywać, nie ubywać.
Z drugiej strony patrząc, to przez ostatnie ćwierć wieku jak jestem w Niemczech, było już kilka poważnych kryzysów w branżach w których robiłem i wszystkie dotąd udało mi się przejść całkiem suchą nogą, ten jest pierwszy który w ogóle mnie bezpośrednio dotyka. Wydaje mi się, że to całkiem dobry wynik.
No ale nie jestem z tych, co mogą siedzieć i nic nie robić, więc tymczasem zająłem się poważnie moim projektem (patrz wcześniejsze odcinki). Moją pierwotną ideą było, żeby zrobić MDD tool do AUTOSARa, na przyczepkę miało tam być małe narzędzie do porównywania plików ARXML (konfiguracja komponentów AUTOSARowych), bo było ono niezbędne do aktualizacji modelu w Enterprise Architekcie.
Tyle że z wielu dyskusji z potencjalnymi klientami wyszło mi, że sprzedanie mojego projektu w takiej postaci nie jest realistyczne - klienci nie są w stanie tak z marszu zmienić swoich paradygmatów i zdecydować się na taki duży krok w nieznane. Postanowiłem więc zmienić strategię akwizycji. Co dotąd zrobiłem:
- Uzupełniłem brakującą dotąd obsługę nowszych wersji AUTOSARa i platformy Adaptive. To nie jest zmiana strategii, ale to ważny ficzer. Integracja nowych wersji działa tak dobrze, że najnowszą wersję 24-11 miałem zintegrowaną następnego dnia po jej premierze. Udało by mi się to nawet w dniu premiery, ale przeszkodził mi Enterprise Architect - bo eksportuję metamodel z EA do formatu XMI i dopiero ten format obrabiam. W starszych wersjach EA szło to szybko (kilkanaście sekund), nowym wersjom zajmuje to całe godziny (6-8!). I nie mogę cofnąć się z tym eksportem do starszej wersji! Próbowałem. Długo by tłumaczyć przyczyny, ale na życzenie mogę opowiedzieć.
- Moje pomocnicze narzędzie do weryfikacji poprawności wyeksportowanego i przetransformowanego metamodelu wyewoluowało w niezależną aplikację "Metamodel Reference". Aplikacja jest darmowa (freeware) i oczywiście pokazuje reklamy tego, co robię. Darmowość pomaga mi ominąć na razie problemy z licencjonowaniem tego AUTOSARa, bo konsorcjum jest coraz bardziej zachłanne - roczna opłata licencyjna kilka lat temu wynosiła 10.000 EUR, teraz już 21.000. Ta aplikacja jest w oczywisty sposób niekomercyjna i pokazuje dane "for informative purposes", więc zgodnie z warunkami licencjonowania jest OK. Download link będzie niżej.
- Pomocnicza porównywarka do plików ARXML wyewoluowała w aplikację "ARXML Merge Tool". Rozwiązuje ona problemy z integracją zmian w plikach ARXML - wiele z nich jest zmieniane równolegle przez kilka osób, a wynik jest bardzo trudno mergowalny przez klasyczne programy do mergowania (w rodzaju Beyond Compare). Dorobiłem też interfejs do mergowania z Gita, na razie tylko 2-way.
- "ARXML Merge Tool" otrzymał bliźniaka - aplikację do mergowania plików XDM (używanych przez program EB Tresos) "XDM Merge Tool". Te pliki to też specjalizacja XML-a, problemy z nimi są bardzo podobne do tych z ARXMLami. Podział na dwie różne aplikacje wynika przede wszystkim z problemów licencyjnych - XDM Merge Tool nie używa nic z AUTOSARa, mogę sprzedać go bez płacenia konsorcjum. (A i mogę szybko zrobić aplikację do porównywania innych struktur drzewiastych, jak by ktoś potrzebował).
- Mój EA Addin nie zmienił się na razie za bardzo, poza tym że obsługuje teraz wszystkie wersje 4.x AUTOSARa i platformę Adaptive. Doprowadzeniem tego toola do wymarzonej przeze mnie funkcjonalności zajmę się wkrótce.
- Dorobiłem narzędzie do integracji tego wszystkiego w buildchain, znaczy do wołania wszystkiego, co się da z command linii albo skryptu.
- Tymczasem współpracujący ze mną koledzy freelancerzy opracowali narzędzie do kalkulacji ofert projektowych. To duży kombajn chodzący na serwerze jako web service, multi-tenant, multi-client, itp. Nadaje się nie tylko do automotive. O tym trzeba by całą notkę, reklama jest w pakiecie downloadu i na stronach reklamowych (patrz: MAXAR2 Procal).
- Wszystkie te kawałki powyżej nazwałem "MAXAR2 Automotive Tools" i pakiet demo/evaluation można sobie ściągnąć i popróbować. Szczegóły poniżej.
- Postawiłem na swoim hostingu drugą, całkowicie niezależną instancję WordPressa, i zrobiłem tam reklamy tego wszystkiego (i swoich usług też). I są tam te wszystkie downloady.
Download aplikacji MAXAR2 AUTOSAR Metamodel Reference
Download pakietu MAXAR2 Automotive Tools 32-bit
Download pakietu MAXAR2 Automotive Tools 64-bit
Polecam pakiet w wersji 64-bit, no chyba że chcecie używać EA Addin z EA w wersji 32-bit - to wtedy niestety trzeba wziąć wersję 32-bit. Można też zainstalować obie wersje - 32- i 64-bit - na jednym komputerze. Wersje evaluation są nieco ograniczone. Jeżeli ktoś byłby zainteresowany kupnem, to proszę o kontakt, najlepiej przez Contact Page, musielibyśmy o tym trochę porozmawiać (z przyczyn licencyjnych).
Oczywiście to wszystko to jeszcze nie koniec, w przygotowaniu są następne ficzery:
- ARXML i XDM Merge Tools mają robić również 3-way merging.
- EA Addin ma ze statechartów generować kod kompatybilny z AUTOSARem.
- Generacja kodu z EA Addina ogólnie będzie poprawiona i dokończona.
- Metamodel Reference App ma pokazywać wygenerowane class diagramy dla każdej pokazywanej klasy.
Teraz coś o perspektywach: Zakładam, że niemieckie automotive jednak nie planuje się wkrótce zlikwidować, i po tej przerwie na ogarnięcie się będzie musiało wziąć się ostro do roboty. Nowe urządzenie do samochodu to minimum trzy lata, więc nie mają na co długo czekać.
Ja do końca roku przetrzymam bezproblemowo, ale oczywiście lepiej by było żeby tymczasem coś wpływało, niż żeby nic. Nie jestem jakoś bardzo przywiązany do automotive, znam się też na wielu innych działkach. Oczywiście szkoda było by tej zgromadzonej wiedzy specjalistycznej gdybym miał zmienić branżę na stałe, ale jak będzie trzeba, to będzie trzeba.
Więc jeżeli ktoś z czytelników ma jakąś robótkę dla freelancera, jakiś projekt trzeba na szybko poratować czy coś podobnego, to zapraszam. Specjalizuję się w tematach takich jak:
- Embedded development, w szerokim asortymencie architektur procesorów, i od bare metal do dużych RTOSów.
- Wszelkiego rodzaju QA: tworzenie procedur, coding patterns, code reviews, architecture reviews, ...
- Wszelaki reverse engineering, na przykład uzupełnianie dokumentacji istniejącego kodu, zwłaszcza w postaci diagramów (Niemcy mówią na to "nachdokumentieren").
- Optymalizacja architektury/kodu na prędkość czy zajętość różnego rodzaju pamięci. Też optymalizacja queries w SQL/HQL.
- Znajdowanie i eliminacja memory leaks.
- Rozwiązywanie wszelakich problemów z taskami i przerwaniami.
- Ochrona pamięci.
- Non-volatile Memory.
- Tworzenie/poprawianie/optymalizacja toolchainów
- Automatyzacja testów, również takich które używają sprzętu pomiarowego, sprzętowych generatorów sygnałów itp.
- Porting kodu na inne procesory/platform/systemy operacyjne itp.
- Customowe narzędzia programistyczne wszelakiego rodzaju.
- Stare, dobre programowanie w C, C++, C#, Javie, różnych assemblerach, Perlu, Pythonie, ...
- Spytajcie się lepiej, na czym się nie znam. Na pewno nie na rzeczach w stylu SAP, WPF czy frontend, jakichś Angularach itp. Znaczy często coś tam o tym wiem a nawet grzebałem, ale na pewno w tych tematach bezproblemowo znajdziecie kogoś lepszego.
W trójkącie szybko/tanio/dobrze jestem team szybko i dobrze, ale na cenę jest akurat promocja. Zapraszam.