[Orgyak] ZH feladat ötlet

Zaicsek Balázs balu at pnyf.inf.elte.hu
Tue May 15 21:19:55 CEST 2012


Sziasztok!

    A következo"re gondolok:

  * Alap feladat:
      o Egy BlackBoard, amire mindenki szabadon helyezhet el üzeneteket
          + Minden üzenetnek van Id-ja, és tartalma (int, String)
          + Az üzeneteket az id-juk alapján lehet kérni
          + Az üzenet ID-ját a kliens határozza meg, létezo" ID
            újraelhelyezése hibajelzést ad (szabadon eldöntheto", hogy
            milyet)
      o Egy üzenetet lehet olvasni (read)
          + Ha nincs a kért ID-jú üzenet, a visszatérési érték null
      o Egy üzenetet lehet elhelyezni (write)
      o Egy üzenetet le lehet venni a BlackBoard-ról (take)
          + Ha nincs a kért ID-jú üzenet, a visszatérési érték null
      o Oldja meg a helyes szinkronizációt, és készítse fel a rendszert
        több kliensre
  * Hármasért:
      o Írj Logger-t a BlackBoard-hoz
      o Ha az elo"zo"t RMI-vel írtad, ezt Socket-ekkel készítsd, és fordítva
      o A Logger magától kéri el a BlackBoard aktuális állapotát, és
        ennek gyakorisága parancssori paraméter
      o Ha a Logger csak egy paramétert kap, akkor a konzolra ír, ha
        2-t, akkor a második paraméterként kapott file-ba
      o A Loggernek a konzolról lehet parancsot küldeni
          + "force" -- azonnali üzenet lekérés
          + "exit" -- kilép
      o Több Logger is futhasson egy ido"ben
  * +1 jegy:
      o   Ha valaki olyan ID-val kér üzenetet, ami nincs, akkor addig
        várakozzon a kérése, amíg ilyen ID-jú üzenet nem érkezik a
        BlackBoard-ra
  * +1 jegy:
      o Mirror készítése
      o Akárhány Mirror lehet egy BlackBoard-hoz
      o A Mirror magától regisztrál a BlackBoard-ra
      o A Mirrorok kezdeti állapotát a BlackBoard beállítja
      o A Mirrorok állapotát a BlackBoard tartja karban

Szerintem ez így kerek, és megfelelo"en nehezedo" feladat. Nem lesz sok 
ötös, de ha valaki 2-est, 3-ast szeretne, az viszonylag könnyen 
megkapja. Szerintetek?

Balu




2012.05.15. 10:19 keltezéssel, Richard O. Legendi írta:
> Örülnék is neki!
> Ricsi
> Richard O. Legendi
> PhD Student
> Eötvös Loránd University, Faculty of Informatics
> Department of Programming Languages and Compilers
> http://people.inf.elte.hu/legendi/
>
> On 2012.05.15. 9:37, Zaicsek Balázs wrote:
>> Hi!
>>
>>    Alapveto"en jó, csak nekem egy kicsit bonyolult, ha belerakhatok 
>> pár javaslatot, szólj!
>>
>> Balu
>>
>> 2012.05.14. 13:23 keltezéssel, Richard O. Legendi írta:
>>> Sziasztok!
>>>
>>> Múltkor Balu említette hogy szívesen írna ki feladatot, én örülnék neki.
>>>
>>> Ötletem nekem is lenne, csak nem biztos, hogy le tudom kerekíteni: 
>>> valami minimális Linda rendszert lehetne íratni velük, az nem túl 
>>> bonyolult.
>>>
>>> Legyen egy központ (space/blackboard), ahová kliensek 
>>> tudnak/write()/-olni, /read()/-elni, meg /take()/-elni feladatokat 
>>> (mint pl. a JavaSpaces-ben, ha ismeritek). Konkrétan /(ID, String)/ 
>>> típusú üzenetekre gondoltam. Lehetne /ID/ alapján szu"rni az 
>>> üzenetekre, esetleg /*/-ozni, hogy azt az üzenetet bárki olvashatja, 
>>> elveheti, etc. A kommunikációt megoldhatnák RMI-vel vagy sockettel, 
>>> amelyik jobban tetszik vagy megy nekik. Kettesért ennek kéne mennie 
>>> (pl. 2 konzolos klienssel, a blackboard tartalmát kéne még tudni 
>>> listázni, hogy elleno"rizni tudjuk a mu"ködést).
>>>
>>> További feladatok tetszés szerinti sorrendben megoldhatók (több is 
>>> van, ha valamelyik problémás esetleg).
>>>
>>> +1 jegy Felkészítés N db kliensre, megfelelo" szinkronizációval. 
>>> Legyen egy író, meg egy olvasó kliens, ami x ido"nként pakolászik 
>>> meg olvas.
>>>
>>> +1 jegyért Checkpointing: lehessen kérni backupot JDBC-vel az 
>>> aktuális tartalommal, valamint annak visszaállítását is (az aktuális 
>>> tartalom eldobásával pl.).
>>>
>>> +1 jegyért legyenek tesztek (inicializált blackboardon nincs üzenet, 
>>> ha rárakunk egyet, akkor az ott van, ha valaki csak olvassa, akkor 
>>> még mindig ott van, ha a címzett leveszi, akkor meg megint nincs 
>>> ott, etc.).
>>>
>>> +1 jegyért üzenetek naplózása: legyen valami logger worker, ami 
>>> minden üzenetet sasol, és logol fájlba (minden felkerülo" üzenet 
>>> elo"ször a loggernek visz fel a rendszer, majd az leveszi, 
>>> feldolgozza, és visszaírja a feladatot a blakcboardra az eredeti 
>>> címzettnek).
>>>
>>> Vélemény? Túl egyszeru", túl bonyolult? Esetleg van már másnak 
>>> konkrét feladatkiírása? :-)
>>>
>>> Igyekeztem figyelembe venni, hogy csak Java referencia lesz 
>>> (elvileg, legalábbis nekem ez rémlik), illetve nem árt majd gondolom 
>>> némi segédszöveg a JUnithoz (nem mindenki IDE-zik tippre), valamint 
>>> a Jarokra is szükség van - btw én Derby-ztem a srácokkal, mert az 
>>> alapból van a JDK-ban, kivéve talán az 1.6u26-ot, amibo"l véletlen 
>>> kihagyták :-)
>>>
>>> Comments are welcome,
>>> Ricsi
>>> -- 
>>> Richard O. Legendi
>>> PhD Student
>>> Eötvös Loránd University, Faculty of Informatics
>>> Department of Programming Languages and Compilers
>>> http://people.inf.elte.hu/legendi/
>>
>>
>>
>> _______________________________________________
>> Orgyak mailing list
>> Orgyak at plc.inf.elte.hu
>> https://plc.inf.elte.hu/mailman/listinfo/orgyak

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://plc.inf.elte.hu/pipermail/orgyak/attachments/20120515/7e9c1151/attachment-0001.html>


More information about the Orgyak mailing list