[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