CSL-CROOK - Zbiory, klasy, obiekty, atrybuty

Z MERA 400 wiki
Przejdź do nawigacji Przejdź do wyszukiwania
Wersja do druku nie jest już wspierana i może powodować błędy w wyświetlaniu. Zaktualizuj swoje zakładki i zamiast funkcji strony do druku użyj domyślnej funkcji drukowania w swojej przeglądarce.

Podstawowymi składnikami modelu symulacyjnego są obiekty definiowane w ramach klas. Każda klasa obejmuje wszystkie obiekty poszczególnego rodzaju. Każdy obiekt należy do jednej klasy i jest identyfikowany poprzez następującą po tej nazwie liczbę wskazującą pozycję danego obiektu w obrębie klasy. Liczba ta jest nazywana indeksem obiektu i jest oddzielona kropką od nazwy klasy. Z każdym obiektem danej klasy może być związany szereg odpowiednio indeksowanych zmiennych. Mogą one służyć do przechowywania informacji numerycznej opisującej obiekty i są nazywane atrybutami tych obiektów. Atrybut jest używany w programie tak, jakby był elementem tablicy. Oznacza to, że w zapisie po nazwie obiektu umieszcza się ciąg indeksów ujętych w nawiasy. Specjalny rodzaj atrybutu jest używany do przechowywania wartości czasowej przyporządkowanej danemu obiektowi w programie modelującym. Atrybut ten jest nazywany komórką czasową i oznaczany literą "T" poprzedzający nazwę obiektu.

Możliwe jest wybranie i zdefiniowanie dowolnego podzbioru z danej klasy. Podzbiory takie są nazywane zbiorami (SET). Obiekt można dodawać do zbiorów lub usuwać ze zbiorów zdefiniowanych w ramach klasy, do której ten obiekt należy.

Rozróżnia się dwa rodzaje zbiorów:

  • zbiory uporządkowane, używa się je do modelowania układów z kolejkami. Obiekty mogą być dodawane tylko na początku lub na końcu zbioru uporządkowanego. Tak więc porządek zbioru jest ustalony i pozostaje zachowany podczas wszelkich operacji dokonywanych na zbiorze;
  • zbiory boole'owskie charakteryzują się ustalonym porządkiem. Obiekty są przechowywane z zachowaniem porządku w danej klasie i na ustalonych pozycjach odpowiadających indeksom obiektów.

W języku CSL każda klasa musi być zdefiniowana poprzez instrukcję deklarującą o postaci:

CLASS A. M
CLASS TIME A. M
CLASS A. M SET A1,... BSET Ak,...
CLASS TIME A. M SET A1,... BSET Ak,...
CLASS A. M (i1,...) SET A1,..., An
BSET An,...
CLASS TIME A. M (i1,...) SET A1,..., An
BSET An,...

Gdzie:

  • CLASS - słowo kluczowe, definicja klasy
  • TIME - atrybut czasu
  • SET - słowo kluczowe, określenie zbioru
  • BSET - słowo kluczowe, zbiór boole'owski
  • A - nazwa klasy
  • m - liczba obiektów wchodzących w skład klasy A.

Źródło: Translator języka CSL-CROOK dla minikomputera MERA-400 w systemie operacyjnym CROOK-4, Instrukcja Programisty (wersja-17/2), Janusz Gocałek, Jacek Klauziński, Poznań, 1985