eGospodarka.pl
eGospodarka.pl poleca

eGospodarka.plGrupypl.comp.programming › Narzędzia do wizualizacji systemów Embedded
Ilość wypowiedzi w tym wątku: 43

  • 11. Data: 2021-03-25 22:43:30
    Temat: Re: Narzędzia do wizualizacji systemów Embedded
    Od: Adam M <a...@m...com>

    On Thursday, March 25, 2021 at 11:41:12 AM UTC-4, Maciej Sobczak wrote:
    > > Diagram mniej więcej tak wyglądał:
    https://github.com/panicz/writings/blob/master/archi
    ve/events-commands.png
    > Na moje oko to jest deployment diagram. Tzn. nie ma na tym diagramie nic, czego nie
    dałoby się pokazać na standardowym dep-diag ("schemat wdrożenia"?), modulo oczywiście
    notacja.
    >
    > https://en.wikipedia.org/wiki/Deployment_diagram
    > --
    > Maciej Sobczak * http://www.inspirel.com

    Tutaj wiecej podobnych przykladow
    https://galaxy.hua.gr/~mara/publications/caine05.pdf
    https://www.visual-paradigm.com/guide/uml-unified-mo
    deling-language/what-is-deployment-diagram/
    Ten pierwszy troche stary

    A tutaj ciekawostka - nie na temat ale interesujace (diagramy w Pythonie) - z mojego
    punktu widzenia ma jedna dobra strone - latwe sledzenie zmian przez diff ;-)
    https://shekhargulati.com/2020/04/21/software-archit
    ecture-diagrams-as-code/


  • 12. Data: 2021-03-26 17:16:28
    Temat: Re: Narzędzia do wizualizacji systemów Embedded
    Od: Maciej Sobczak <s...@g...com>

    > > https://en.wikipedia.org/wiki/Deployment_diagram
    > Może czegoś nie rozumiem, ale z tego co rozumiem, deployment diagram wymienia
    jedynie komponenty wymagane do wdrożenia i ewentualnie zależności między nimi.

    A Twój diagram pokazał coś innego?

    > U mnie są wątki, struktury, urządzenia i relacje korespondencji między strukturą a
    rzeczywistym bytem.

    No właśnie to wszystko ma swoje miejsce w dep-diag. Z powyższej strony:

    "what hardware components ("nodes") exist (e.g., a web server, an application server,
    and a database server), what software components ("artifacts") run on each node
    (e.g., web application, database), and how the different pieces are connected (e.g.
    JDBC, REST, RMI)."

    Nawet protokoły komunikacyjne można wskazać.

    > Być może wszystko "da się pokazać" na UMLowym diagramie, ale wydaje mi się, że w
    pewnej mierze wynika to z tego, że zawsze można np. dorzucić komentarz.

    Nie. Raczej z tego, że sam metamodel UML jest dość swobodny i można nawet tworzyć
    własne typy połączeń między elementami diagramu.

    > Ja sobie myślę o schematach które by miały bardziej sformalizowaną czy
    zoperacjonalizowaną semantykę.

    Ale nie da się mówić o sformalizowanej semantyce, jeśli diagram miałby być tylko
    obrazkiem. Formalizm widać dopiero w tym, jak ten obrazek jest dalej przetwarzany, a
    to zależy tylko od Ciebie. Napisz sobie skrypt przetwarzający diagram (generator
    kodu?), który robić coś konkretnego z połączeniami jakiegoś typu w diagramie i to
    będzie ten formalizm. UML jest frameworkiem do tworzenia takich procesów projektowych
    a nie kompletnym i zamkniętym rozwiązaniem.

    Tu jest to ładnie wyjaśnione:

    https://www.visual-paradigm.com/guide/uml-unified-mo
    deling-language/uml-extexsibility-mechanism/

    Chyba to co chcesz zrobić najłatwiej osiągnąć tzw. stereotypami. To nie są
    komentarze, tylko własne "typy" istniejących bytów, np. połączeń. Możesz mieć np.
    strzałkę między modułami w dep-diag z wymyślonym stereotypem "<<serial comms>>" i ta
    strzałka będzie (dla konsumenta diagramu, czy to człowiek, czy generator kodu)
    oznaczać komunikację łączem szeregowym. Itd. Wątek? Proszę bardzo: "<<active>>". Bo
    to nawet jest luźniejsze pojęcie, niż "<<thread>>", który wskazuje na istnienie OS a
    przecież w systemie wbudowanym nie musi go być.
    W ten sposób można przerysować cały Twój diagram, z zachowaniem wszystkich
    informacji.

    --
    Maciej Sobczak * http://www.inspirel.com


  • 13. Data: 2021-03-26 17:26:16
    Temat: Re: Narzędzia do wizualizacji systemów Embedded
    Od: Maciej Sobczak <s...@g...com>

    > OK, w takim razie zmieniam tytuł wątku na "narzędzia do wizualizacji systemów
    rozproszonych" :)
    >
    > Zna ktoś jakieś ciekawe?

    Deployment diagram? :-D

    > > To tylko przepychasz problem w inne miejsce. Diagramy też mają dokumentację w
    postaci adnotacji, czy innych wlepek tekstowych. Albo w postaci dokumentu Word o
    nazwie "Dokumentacja do diagramu 123.xyz.beta.docx". I to też może się rozjechać z
    rzeczywistością.
    > No, chyba że tego nie stworzysz. To wtedy tego nie ma, i nie może się rozjechać.

    Ale do tego nie potrzeba diagramów. Jest cała masa kodu źródłowego, którego
    dokumentacja nigdy się nie rozjeżdża, bo jej nie ma. Przepchnięcie problemu braku
    dokumentacji na inny poziom abstrakcji (albo do innej notacji na tym samym poziomie
    abstrakcji, bo to też się zdarza ludziom robić, patrz np. wyrażenie logiczne vs.
    schemat bramek logicznych - to jest ten sam ciul, chociaż mają różną wartość szpanu)
    tego problemu wcale nie rozwiązuje.

    > > Jeżeli diagram służy do generowania kodu, to *nie* jest dokumentacją, tak samo
    jak kod źródłowy (który też służy do generowania czegoś) nie był dokumentacją.
    > Dlaczego nie?

    https://en.wikipedia.org/wiki/Documentation

    --
    Maciej Sobczak * http://www.inspirel.com


  • 14. Data: 2021-03-26 17:41:02
    Temat: Re: Narzędzia do wizualizacji systemów Embedded
    Od: Maciej Sobczak <s...@g...com>

    > A tutaj ciekawostka - nie na temat ale interesujace (diagramy w Pythonie) - z
    mojego punktu widzenia ma jedna dobra strone - latwe sledzenie zmian przez diff ;-)
    > https://shekhargulati.com/2020/04/21/software-archit
    ecture-diagrams-as-code/

    Śledzenie zmian w diff to bardzo poważna zaleta, bo typowe narzędzia na tej części
    się spektakularnie wykładają. Co jest o tyle absurdalne, że motywacje do używania
    diagramów pojawiają się w projektach powyżej jakiegoś poziomu złożoności, gdzie
    dokładnie z tego samego powodu pojawiają się też potrzeby śledzenia historii zmian,
    czy w ogóle pracy zespołowej na wielu wersjach, itd. Czyli schemat działania jest
    taki:
    - robimy duży projekt, więc zatrudniamy tabun ludzi
    - mamy Git, Jenkins i co tam jeszcze, pierdylion branchów i pierdyliard wersji w
    każdym branchu
    - merge'ujemy branche we wszystkich kierunkach
    - jesteśmy już tak poważni, że kupujemy program do robienia diagramów...
    - i dupa.

    Diagram generowany kodem to dobry pomysł również z tego powodu, że można zrobić
    meta-modelowanie, czyli np. zrobić coś w pętli zamiast copy-paste (np. dużo podobnych
    bloczków).

    Ale Python to i tak słaby wybór do takiej roboty. Lepszy byłby język o swobodniejszej
    składni, np. Wolfram albo od biedy Scheme. Tam można robić cuda bez ograniczeń ze
    strony istniejących reguł a tych w Pythonie jest zdecydowanie za dużo do takich
    zastosowań.

    --
    Maciej Sobcza * http://www.inspirel.com


  • 15. Data: 2021-03-26 17:47:43
    Temat: Re: Narzędzia do wizualizacji systemów Embedded
    Od: Maciek Godek <g...@g...com>

    piątek, 26 marca 2021 o 17:16:29 UTC+1 Maciej Sobczak napisał(a):
    > > > https://en.wikipedia.org/wiki/Deployment_diagram
    > > Może czegoś nie rozumiem, ale z tego co rozumiem, deployment diagram wymienia
    jedynie komponenty wymagane do wdrożenia i ewentualnie zależności między nimi.
    > A Twój diagram pokazał coś innego?

    Tak, wątki, struktury, urządzenia i relacje korespondencji między strukturą a
    rzeczywistym bytem

    > > U mnie są wątki, struktury, urządzenia i relacje korespondencji między strukturą
    a rzeczywistym bytem.
    > No właśnie to wszystko ma swoje miejsce w dep-diag. Z powyższej strony:
    >
    > "what hardware components ("nodes") exist (e.g., a web server, an application
    server, and a database server), what software components ("artifacts") run on each
    node (e.g., web application, database), and how the different pieces are connected
    (e.g. JDBC, REST, RMI)."
    >
    > Nawet protokoły komunikacyjne można wskazać.

    a wątki, struktury, urządzenia i relacje korespondencji między strukturą a
    rzeczywistym bytem?



  • 16. Data: 2021-03-26 17:49:49
    Temat: Re: Narzędzia do wizualizacji systemów Embedded
    Od: Maciek Godek <g...@g...com>

    piątek, 26 marca 2021 o 17:26:17 UTC+1 Maciej Sobczak napisał(a):

    > > > Jeżeli diagram służy do generowania kodu, to *nie* jest dokumentacją, tak samo
    jak kod źródłowy (który też służy do generowania czegoś) nie był dokumentacją.
    > > Dlaczego nie?
    > https://en.wikipedia.org/wiki/Documentation

    To nie jest uzasadnienie. To jest link do Wikipedii.

    Pierwsze zdanie artykułu mówi:

    "Documentation is any communicable material that is used to describe, explain or
    instruct regarding some attributes of an object, system or procedure, such as its
    parts, assembly, installation, maintenance and use"

    Kod źródłowy jest komunikowalny i może być użyty do wyjaśnienia pewnych atrybutów
    systemu, więc nadal nie rozumiem.


  • 17. Data: 2021-03-26 22:57:18
    Temat: Re: Narzędzia do wizualizacji systemów Embedded
    Od: Adam M <a...@m...com>

    On Friday, March 26, 2021 at 12:41:03 PM UTC-4, Maciej Sobczak wrote:
    > > A tutaj ciekawostka - nie na temat ale interesujace (diagramy w Pythonie) - z
    mojego punktu widzenia ma jedna dobra strone - latwe sledzenie zmian przez diff ;-)
    > > https://shekhargulati.com/2020/04/21/software-archit
    ecture-diagrams-as-code/
    > Śledzenie zmian w diff to bardzo poważna zaleta, bo typowe narzędzia na tej części
    się spektakularnie wykładają. Co jest o tyle absurdalne, że motywacje do używania
    diagramów pojawiają się w projektach powyżej jakiegoś poziomu złożoności, gdzie
    dokładnie z tego samego powodu pojawiają się też potrzeby śledzenia historii zmian,
    czy w ogóle pracy zespołowej na wielu wersjach, itd. Czyli schemat działania jest
    taki:
    > - robimy duży projekt, więc zatrudniamy tabun ludzi
    > - mamy Git, Jenkins i co tam jeszcze, pierdylion branchów i pierdyliard wersji w
    każdym branchu
    > - merge'ujemy branche we wszystkich kierunkach
    > - jesteśmy już tak poważni, że kupujemy program do robienia diagramów...
    > - i dupa.

    Zgadzam sie z kolega w 100% - najlepszy przyklad z brzegu merge Simulink models -
    trzeba uzywac ich narzedzia bo normalny diff nic nie potrafi zrobic - a narzedzie od
    MATLAB/Simulink "sucks"

    >
    > Diagram generowany kodem to dobry pomysł również z tego powodu, że można zrobić
    meta-modelowanie, czyli np. zrobić coś w pętli zamiast copy-paste (np. dużo podobnych
    bloczków).
    >
    > Ale Python to i tak słaby wybór do takiej roboty. Lepszy byłby język o
    swobodniejszej składni, np. Wolfram albo od biedy Scheme. Tam można robić cuda bez
    ograniczeń ze strony istniejących reguł a tych w Pythonie jest zdecydowanie za dużo
    do takich zastosowań.

    Na bezrybiu i rak ryba ;-)

    >
    > --
    > Maciej Sobcza * http://www.inspirel.com


  • 18. Data: 2021-03-27 11:46:49
    Temat: Re: Narzędzia do wizualizacji systemów Embedded
    Od: Roman Tyczka <r...@h...you.spammer>

    W dniu 26.03.2021 o 17:41, Maciej Sobczak pisze:
    >> A tutaj ciekawostka - nie na temat ale interesujace (diagramy w Pythonie) - z
    mojego punktu widzenia ma jedna dobra strone - latwe sledzenie zmian przez diff ;-)
    >> https://shekhargulati.com/2020/04/21/software-archit
    ecture-diagrams-as-code/
    >
    > Śledzenie zmian w diff to bardzo poważna zaleta, bo typowe narzędzia na tej części
    się spektakularnie wykładają. Co jest o tyle absurdalne, że motywacje do używania
    diagramów pojawiają się w projektach powyżej jakiegoś poziomu złożoności, gdzie
    dokładnie z tego samego powodu pojawiają się też potrzeby śledzenia historii zmian,
    czy w ogóle pracy zespołowej na wielu wersjach, itd. Czyli schemat działania jest
    taki:
    > - robimy duży projekt, więc zatrudniamy tabun ludzi
    > - mamy Git, Jenkins i co tam jeszcze, pierdylion branchów i pierdyliard wersji w
    każdym branchu
    > - merge'ujemy branche we wszystkich kierunkach
    > - jesteśmy już tak poważni, że kupujemy program do robienia diagramów...
    > - i dupa.
    >
    > Diagram generowany kodem to dobry pomysł również z tego powodu, że można zrobić
    meta-modelowanie, czyli np. zrobić coś w pętli zamiast copy-paste (np. dużo podobnych
    bloczków).
    >
    > Ale Python to i tak słaby wybór do takiej roboty. Lepszy byłby język o
    swobodniejszej składni, np. Wolfram albo od biedy Scheme. Tam można robić cuda bez
    ograniczeń ze strony istniejących reguł a tych w Pythonie jest zdecydowanie za dużo
    do takich zastosowań.

    Może to:

    https://plantuml.com/

    --
    pzdr
    Roman


  • 19. Data: 2021-03-27 16:39:07
    Temat: Re: Narzędzia do wizualizacji systemów Embedded
    Od: Maciej Sobczak <s...@g...com>

    > > A Twój diagram pokazał coś innego?
    > Tak, wątki, struktury, urządzenia i relacje korespondencji między strukturą a
    rzeczywistym bytem

    To wszystko to są właśnie decyzje wdrożeniowe, które można pokazać na deployment
    diagram.

    > > "what hardware components ("nodes") exist (e.g., a web server, an application
    server, and a database server), what software components ("artifacts") run on each
    node (e.g., web application, database), and how the different pieces are connected
    (e.g. JDBC, REST, RMI)."
    > >
    > > Nawet protokoły komunikacyjne można wskazać.
    > a wątki, struktury, urządzenia i relacje korespondencji między strukturą a
    rzeczywistym bytem?

    A czego nie zrozumiałeś z dotychczasowej wymiany na ten temat?
    Mam Ci narysować Twój własny diagram?

    --
    Maciej Sobczak * http://www.inspirel.com


  • 20. Data: 2021-03-27 16:51:30
    Temat: Re: Narzędzia do wizualizacji systemów Embedded
    Od: Maciej Sobczak <s...@g...com>

    > Może to:
    >
    > https://plantuml.com/

    Super. To jest właśnie prosta składnia, niezaśmiecona regułami istniejącego języka
    (jak Python), który powstał zupełnie w innym celu.
    Podoba mi się strzałka jako infix operator, tak to właśnie powinno wyglądać. A -> B i
    wiadomo o co chodzi.

    Skoro już rzucamy przykładami, to jakiś czas temu udało mi się popełnić takie
    narzędzie, chociaż notacje UMLopodobne nie były priorytetem. Chodziło bardziej o
    programowalny layout, czyli ustalenie, jakie są względne relacje "geograficzne"
    między elementami dowolnego diagramu:

    http://inspirel.com/prodiams/

    Cele te same, ale z założenia integruje się ze środowiskiem Wolframa, więc jest
    naturalnie programowalne.

    --
    Maciej Sobczak * http://www.inspirel.com

strony : 1 . [ 2 ] . 3 ... 5


Szukaj w grupach

Szukaj w grupach

Eksperci egospodarka.pl

1 1 1

Wpisz nazwę miasta, dla którego chcesz znaleźć jednostkę ZUS.

Wzory dokumentów

Bezpłatne wzory dokumentów i formularzy.
Wyszukaj i pobierz za darmo: