Fora » Dyskusja nad zmianami »
Ustalenia 19.09.2012
Dodane przez Tomasz Kornuta ponad 12 lat temu
1. Uproszczenie InputPort'u
- skasowanie mechanizmu kolejkowania -> kolejka może być zrealizowana jako komponent szablonowy typu "kolejka"
Odpowiedzi (12)
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta ponad 12 lat temu
2. Brak elementu typu "Connection" w metamodelu
- jest to konsekwencja 1.
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta ponad 12 lat temu
3. Umożliwienie połączeń *-* pomiędzy InputPort a OutputPort'ami
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta ponad 12 lat temu
4. Wprowadzenie pojęcia kompozytu
- zawiera wiele komponentów,
- na zewnątrz widoczne są porty oznaczone jako relacja Delegate (InputPort) oraz Propagate (OutputPort)
- nie będzie istniał de facto taki twór od strony oprogramowania, ma być wykorzystany mechanizm opisu komponentu (np. plik XML)
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta ponad 12 lat temu
5. Handler'y w komponentach
- Priorytety handler'ów: kolejność wywołań związana jest z ich kolejnością w samym modelu (pierwszy od góry ma najwyższy itd.)
- komponentu typu "Source" jest tak naprawdę wywiedziony z faktu, iż dokładnie jedną metodę "bez pobudzeń"
- możemy wykrywać klika źródeł w wątku i produkować "ostrzeżenie" dla projektanta systemu
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta ponad 12 lat temu
6. Dwie propozycje:
a) "Całkowite uporządkowanie" komponentów
- każdy komponent ma cyferkę, która nie jest "priorytetem", tylko jest związana z "kolejnością odpalenia" (order)
b) Priorytety względne
- wszystkie komponenty mają domyślny priorytet
- w przypadku gdy projektant układu ma wiedzę/chce wymusić kolejność, istnieje mechanizm zaznaczania "który komponent ma być odpalony przed którym"
- potencjalnie można zaznaczyć relacje między wszystkimi komponentami => poprawność relacji łatwa do automatycznego zweryfikowania
- to wystarcza do wyliczenia priorytetów wszystkich komponentów
- propozycja algorytmu szeregowania: round-robin z kolejkami priorytetowymi
Wybieramy b)
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta ponad 12 lat temu
7. Mechanizm "subtask"
- wprowadzenie relacji między subtaskami -> "or" domyślna, "xor" do ustawienia
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta ponad 12 lat temu
8. Mechanizm zegara
- komponent w oddzielnym wątku
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta ponad 12 lat temu
X. Szeregowanie komponentów
- wprowadzenie stanu komponentu "bizi"/"niebizi"
- wykorzystanie idei puli wątków
- wątek "koordynatora" biegający po komponentach i odpalający wątki z komponentami
- być może nie jest potrzebny watke "managera" - to może zaoszczędzić przełączenia kontekstu
- informacja o tym, że coś może być odpalone może pochodzić z a) zakończonego handlera, b) przyjściu nowych danych (w szczególności spoza systemu)
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta około 12 lat temu
Przy artykule o metamodelu należy koniecznie podkreślić zastosowanie brzytwy ockhama do skasowania polis(!)
Tomasz Kornuta napisał:
1. Uproszczenie InputPort'u
- skasowanie mechanizmu kolejkowania -> kolejka może być zrealizowana jako komponent szablonowy typu "kolejka"
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta około 12 lat temu
Tomasz Kornuta napisał:
6. Dwie propozycje:
a) "Całkowite uporządkowanie" komponentów
- każdy komponent ma cyferkę, która nie jest "priorytetem", tylko jest związana z "kolejnością odpalenia" (order)b) Priorytety względne
- wszystkie komponenty mają domyślny priorytet
- w przypadku gdy projektant układu ma wiedzę/chce wymusić kolejność, istnieje mechanizm zaznaczania "który komponent ma być odpalony przed którym"
- potencjalnie można zaznaczyć relacje między wszystkimi komponentami => poprawność relacji łatwa do automatycznego zweryfikowania
- to wystarcza do wyliczenia priorytetów wszystkich komponentów
- propozycja algorytmu szeregowania: round-robin z kolejkami priorytetowymiWybieramy b)
Kolejność (w przypadku komponentów) VS Priorytety (w przypadku funkcji przejścia w danym komponencie)
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta około 12 lat temu
Tomasz Kornuta napisał:
X. Szeregowanie komponentów
- wprowadzenie stanu komponentu "bizi"/"niebizi"
- wykorzystanie idei puli wątków
- wątek "koordynatora" biegający po komponentach i odpalający wątki z komponentami
- być może nie jest potrzebny watke "managera" - to może zaoszczędzić przełączenia kontekstu
- informacja o tym, że coś może być odpalone może pochodzić z a) zakończonego handlera, b) przyjściu nowych danych (w szczególności spoza systemu)
Zwracanie TRUE/FALSE w przypadku gdy komponent odpalił/nie może odpalić żadnej funkcji - to może być potrzebne w przyszłości w przypadku "pracy krokowej"
RE: Ustalenia 19.09.2012 - Dodane przez Tomasz Kornuta około 12 lat temu
Tomasz Kornuta napisał:
6. Dwie propozycje:
a) "Całkowite uporządkowanie" komponentów
- każdy komponent ma cyferkę, która nie jest "priorytetem", tylko jest związana z "kolejnością odpalenia" (order)b) Priorytety względne
- wszystkie komponenty mają domyślny priorytet
- w przypadku gdy projektant układu ma wiedzę/chce wymusić kolejność, istnieje mechanizm zaznaczania "który komponent ma być odpalony przed którym"
- potencjalnie można zaznaczyć relacje między wszystkimi komponentami => poprawność relacji łatwa do automatycznego zweryfikowania
- to wystarcza do wyliczenia priorytetów wszystkich komponentów
- propozycja algorytmu szeregowania: round-robin z kolejkami priorytetowymiWybieramy b)
Poprawka - wybieramy A! Parametr Kolejność (k) związana z....? wątkiem czy podzadaniem? Ja jestem za wątkiem...