Hlavní menu

Nástroje

UvodDoKomponent / Priklady

View (print) - Edit page | Recent changes - Page history

Updated 22 January 2015, 15:49 by PremekBrada

V této praktické části tutoriálu jsou obecné koncepty ukázány na příkladech v konkrétních technologiích/frameworcích.

U každého popisovaného modelu lze vždy najít:

  • informaci, jak používá obecné koncepty (čili jejich mapování na daný konkrétní framework)
  • návod jak vytvořit prázdný projekt (někdy spojené s následujícím bodem)
  • návod na jednoduchou HelloWorld aplikaci
  • implementaci příkladu Message printer (viz níže)
  • implementaci příkladu Parkoviště (viz níže)

Navigace

Přehled příkladů

Základní příklady pro ilustraci daného komponentového modelu jsou převzaty z projektu experimentálního komponentového modelu CoSi.

Message printer

Nejdříve opravdu jednoduchá aplikace:

  • "server" komponenta, která exportuje službu na rozhranní IMsgGen, které má jednu metodu String getMsg()
  • "client" komponenta, která importuje tuto službu a vytiskne zprávu na standardní výstup

Parkoviště

Jako další je zde trochu komplexnější příklad, s následujícím scénářem: u dálnice je tabule, která motoristy informuje o tom, kolik je ještě volných míst na parkovišti. Auta, autobusy a náklaďáky přijíždí a odjíždí přes bránu, která pouští pouze v případě, že se na parkoviště daný typ vozidla vejde - auto spotřebuje jedno místo, autobus 2 místa, náklaďák 4.

Komponentový model má následující komponenty (rovněž znázorněny v diagramu níže):

  • "Brana" která náhodně generuje příjezdy/odjezdy a volá "Parkoviste", aby si je zpracovalo
  • "Parkoviste" které přes události oznamuje kolik je volných míst, které se nastavují přes metody volané "Branou"
  • "Tabule" vypisuje kolik je volných míst
  • "KonfiguraceZarizeni" poskytuje konfiguraci ostatním komponentám - "frekvence" pro "Branu" a "kapacita" pro "Parkoviste"

Další zdroje

Zajímavým pokusem ukázat, jak se různé komponentové modely vypořádají s větší aplikací, je Common Component Modelling Example.

Kromě hotových příkladů ve výše uvedených technologiích by bylo zajímavé doplnit například: