Metody realizacji języków programowania/MRJP Ćwiczenia 13

From Studia Informatyczne

Spis treści

Praca semestralna

Napisz w Javie klasy realizujące następujące elementy:

Zadanie 1

Łączenie się maszyn wirtualnych poprzez sieć w celu stworzenie wieloprocesorowej maszyny wirtualnej. Napisz klasy umożliwiające

  • Otwieranie okienka poleceń maszyny wirtualnej. W menu "Maszyna" powinny pojawić się polecenia: "połącz", "rozłącz", "prześlij komunikat do innego procesora", "podaj informację o obecnym stanie maszyny wieloprocesorowej".

Zadanie 2

Napisz klasę Proces. Obiekty tej klasy będą mogły być alokowane na dowolnym procesorze wieloprocesorowej maszyny wirtualnej. Pierwszym argumentem konstruktora tej klasy ma być liczba naturalna = numer procesora wieloprocesowej maszyny wirtualnej na którym obiekt ma być zaalokowany. Jeśli wartością tego parametru jest zero to obiekt alokujemy na bieżącej maszynie wirtualnej.Każdy obiekt tej klasy ma prywatny atrybut MASKA. Wartością tej zmiennej jest podzbiór zbioru nazw metod obiektu podklasy klasy Proces.

Zadanie 3

Realizacja protokołu obcego wołania metody.Uzupełnij deklarację klasy Proces o metody:

  • enable,
  • disable,
  • accept,
  • alien_call.

Metoda enable powoduje, że jej parametry - muszą to być nazwy metod podklasy klasy Proces - zostają dopisane do zbioru nazw znajdujących sie w MASCE obiektu podklasy klasy proces.

Metoda disable powoduje, że jej parametry - nazwy metod podklasy klasy Proces - zostają usunięte z MASKI obiektu.

Metoda accept powoduje zaieszenie wykonywania poleceń wątku run w obiekcie podklasy klasy Proces w oczekiwaniu na wywołanie przez inny Proces jakiejś metody znajdującej sie w MASCE.

Metoda alien_call powoduje, ze do obiektu x podklasy klasy Proces wyśłany zostaje komunikat o następującym znaczeniu: wykonaj na moje zlecenie swoją metodę twoja_metoda z aktualnymi parametrami, które Ci przekazuję.