Wpis z mikrobloga

#studbaza
#programowanie
#java

Chyba zakodzę 15 lat temu do tego podchodziłem poddczas studiów java5 haha.

Ciekawe jak w java19 wyjdzie.

Język implementacji: Ada
Środowisko implementacyjne: GNAT Ada 95, Java 5+
Termin wykonania: ostatnie zajęcia laboratoryjne
Podstawowe wymagania:
a) liczba procesów sekwencyjnych powinna być dobrana z wyczuciem tak, aby zachować czytelność interfejsu i
jednocześnie umożliwić zobrazowanie reprezentatywnych przykładów,
b) kod źródłowy programu musi być tak skonstruowany, aby można było „swobodnie” modyfikować liczbę
procesów sekwencyjnych (za wyjątkiem zadań o ściśle określonej liczbie procesów),
c) obok poprawnej identyfikacji sekcji krytycznych program musi brać pod uwagę czytelność
i estetykę interfejsu użytkownika oraz zdolność percepcji osoby oceniającej,
d) obowiązuje zakaz konstrukcji interfejsu na zasadzie wypisywania kolejnych linii na ekran,
e) dodatkowo, ekran także jest współdzielonym zasobem i w tym celu:
- program zawiera dedykowane zadanie (task) wypisujące komunikaty na ekranie, z którym pozostałe zadania
odbywają spotkanie w celu wypisania odpowiedniego komunikatu,
- dla zadań laboratoryjnych, dla których podstawowym mechanizmem synchronizacji jest spotkanie, ekran
należy chronić obiektem chronionym (monitorem) zamiast zadania (task) odbywającego spotkania.
Sprawozdanie powinno zawierać następujące elementy:
1) stronę tytułową,
2) niniejszą treść zadania,
3) syntetyczny opis problemu – przyjęte założenia,
4) wykaz współdzielonych zasobów,
5) wykaz wyróżnionych sekcji krytycznych,
6) wykaz obiektów synchronizacji,
7) wykaz procesów sekwencyjnych,
8) listing programu.
Warianty zadań:
- wariant 1 - semafor ogólny z pakietu Sem83 (Ada), monitory (Java);
- wariant 2 - mechanizm spotkaniowy (Ada), semafor (Java);
- wariant 3 - semafor binarny z pakietu Sem95 (Ada), monitor (Java);
- wariant 4 - obiekt chroniony (Ada), semafor (Java);
Każde zadanie należy rozwiązać jedną metodą.
Problem do rozwiązania:
Wariant zadania: wariant 4.
Problem do rozwiązania: ruch pakietów w sieci
Założenia:
- sieć składa się z podsieci o dwóch różnych typach topologii;
 pierwszy typ - gwiazda, drugi – token ring;
 pakiety napływają i odpływają z systemu poprzez jedną z n (n>4) sieci token ring;
 każda token ring dodatkowo jest połączona ze wspólną siecią typu gwiazda;
 pojemność (przepustowość) sieci jest ograniczona do poziomu x;
 w każej sieci typu token ring znajduje się y komputerów, z których każdy również
może generować i odbierać pakiety;
 w sieci typu gwiazda jest z komputerów, działających analogicznie do ww.;
 każdy pakiet znajdujący się w sieci posiada adres nadawcy;
 nie ma zagubionych pakietów oraz każdy prędzej czy później trafi do odbiorcy.

Wariant zadania: wariant 4.
Problem do rozwiązania: pasieka
Założenia:
 pasieka składa się n (n>6) uli;
 w każdym z nich znajdują się pszczoły, które losowo wylatują po nektar;
 każda z nich poszukuje przez losowy czas kwiatu, zbiera nektar a następnie wraca
do ula;
 w każdym ulu jest m (m>=10) wejść o ograniczonej przepustowości;
 każda z pszczół składa swój nektar, do jednego z k (k>20) plastrów, w których to
tworzony jest miód;
 losowo przychodzi pszczelarz, wybierając miód z pełnych plastrów, jednocześnie
wstrzymując możliwość składowania nektaru przez pszczoły (do tych plastrów).
  • 4