[Orgyak] ZH feladat ötlet
Richard O. Legendi
leriaat at elte.hu
Wed May 16 09:11:21 CEST 2012
Hali!
Wow, thx, szerintem teljesen jó. Viszont akkor JUnit/JDBC teljesen kiihúzva?
Az alapfeladat szövegén annyit változtatnék, hogy ne /null/ értéket
adjon vissza (socketen lehetne hibaüzenet is).
Egy minimális kommunikációs példát belerakhatnánk, ilyesmit, hogy:
Kliens 1:
Üzenet:
write 1 message one
Válasz:
OK ...
Blackboard tartalma:
1 --> message one
Kliens 2:
Üzenet:
write 1 erroneous message
Válasz:
ERR ...
Blackboard tartalma:
1 --> message one
Kliens 2:
Üzenet:
read 1
Válasz:
OK message one
Blackboard tartalma:
1 --> message one
Kliens 3:
Üzenet:
take 1
Válasz:
OK message one
Blackboard tartalma:
-
Vagy ilyesmi (persze, RMI-vel nem sok értelme van, de kb. illusztrálja,
mik kellenek).
Szinkronizációt biztos akarunk a kettesért?
Loggerbo"l nem elég, ha egyet csinálnak?
Ne legyen egy +1 feladat, hogy valamelyik kiváltható legyen? (Elo"zo"
félévekben mintha úgy lettek volna, hogy 5 db +1 feladat van, de lehet
csak rosszul emlékszem.)
My 2 cents - és nagyon köszi!
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. 21:19, Zaicsek Balázs wrote:
> 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/20120516/9fadb8b4/attachment.html>
More information about the Orgyak
mailing list