Linda, ADA a ostatní jazyky

Zkouškový pattern

Linda se objevuje jako práce s tuple space nad jednoduchou datovou strukturou, často seznamem. ADA se objevuje spíš jako krátká teorie: task, entry, rendezvous a accept.

Oficiální slidy

Linda

Linda pracuje s tuple space.

Typické operace:

  • out(tuple): vložení n-tice.
  • in(pattern): vyzvednutí odpovídající n-tice, blokuje.
  • rd(pattern): přečtení odpovídající n-tice bez odebrání.
  • eval(...): spuštění procesu / vyhodnocení.

Typické úlohy:

  • operace nad spojovým seznamem;
  • reverse/delete/search;
  • koordinace procesů přes n-tice.

ADA

Zkouškově spíš okrajové. Držet se pojmů:

  • task;
  • entry;
  • rendezvous;
  • accept.

Vyřešené příklady z termínů

Linda: reverz seznamu

Zdroj: student-doc-digest

Zadání: Linda, reverz seznamu.

Řešení:

  • Uzel seznamu reprezentuj n-ticí, například (node, id, value, next).
  • rd použij pro čtení bez odebrání, in pro destruktivní změnu vazby.
  • Reverz typicky přepíše odkazy next; hlídej, aby současně neběžely dvě destruktivní změny stejné n-tice.

Linda: vyhledávání v lineárním seznamu

Zdroj: term-3-druhy-opravny

Zadání: Linda, vyhledávání v lineárním seznamu.

Řešení:

  • Proces iteruje přes n-tice uzlů podle odkazu next.
  • Pro čisté hledání používej rd, aby se seznam nerozbil.
  • in použij až u operací typu delete nebo update.

ADA: popsat a uvést příkazy

Zdroj: term-3-druhy-opravny

Zadání: ADA, popsat a uvést konkrétní příkazy.

Řešení:

  • Základ je task, entry, volání entry a accept.
  • Rendezvous znamená, že volající i přijímající task se synchronizují na komunikačním bodě.
  • Uveď, že accept může obsahovat tělo obsluhy požadavku.

Kde se to objevuje

Podle sjednocených termínových souborů v archivu:

Chyby

  • Zaměnit rd a in.
  • Zapomenout, že in je destruktivní.
  • U rendezvous neuvažovat blokování obou stran do spárování.