[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