<html>
<head>
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
</head>
<body bgcolor="#FFFFFF" text="#000000">
Szerintem is lehet +feladata, mely segítségével kiválthatják
valamelyiket.<br>
<br>
Melinda<br>
<br>
On 05/16/2012 09:11 AM, Richard O. Legendi wrote:
<blockquote cite="mid:4FB35319.1000807@elte.hu" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
Hali!<br>
<br>
Wow, thx, szerintem teljesen jó. Viszont akkor JUnit/JDBC teljesen
kiihúzva?<br>
<br>
Az alapfeladat szövegén annyit változtatnék, hogy ne <i>null</i>
értéket adjon vissza (socketen lehetne hibaüzenet is).<br>
<br>
Egy minimális kommunikációs példát belerakhatnánk, ilyesmit, hogy:<br>
<blockquote><small><tt>Kliens 1:<br>
Üzenet:<br>
write 1 message one<br>
Válasz:<br>
OK ...<br>
Blackboard tartalma:<br>
1 --> message one<br>
<br>
Kliens 2:<br>
Üzenet:<br>
write 1 erroneous message<br>
Válasz:<br>
ERR ...<br>
Blackboard tartalma:<br>
1 --> message one<br>
<br>
Kliens 2:<br>
Üzenet:<br>
read 1<br>
Válasz:<br>
OK message one<br>
Blackboard tartalma:<br>
1 --> message one<br>
<br>
Kliens 3:<br>
Üzenet:<br>
take 1<br>
Válasz:<br>
OK message one<br>
Blackboard tartalma:<br>
-</tt></small><br>
</blockquote>
Vagy ilyesmi (persze, RMI-vel nem sok értelme van, de kb.
illusztrálja, mik kellenek).<br>
<br>
Szinkronizációt biztos akarunk a kettesért?<br>
<br>
Loggerből nem elég, ha egyet csinálnak?<br>
<br>
Ne legyen egy +1 feladat, hogy valamelyik kiváltható legyen?
(Előző félévekben mintha úgy lettek volna, hogy 5 db +1 feladat
van, de lehet csak rosszul emlékszem.)<br>
<br>
My 2 cents - és nagyon köszi!<br>
Ricsi<br>
<pre class="moz-signature" cols="72">--
Richard O. Legendi
PhD Student
Eötvös Loránd University, Faculty of Informatics
Department of Programming Languages and Compilers
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://people.inf.elte.hu/legendi/">http://people.inf.elte.hu/legendi/</a>
</pre>
On 2012.05.15. 21:19, Zaicsek Balázs wrote:
<blockquote cite="mid:4FB2AC5B.5050508@pnyf.inf.elte.hu"
type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
<tt>Sziasztok!<br>
<br>
A következőre gondolok:<br>
</tt>
<ul>
<li><tt>Alap feladat:</tt></li>
<ul>
<li><tt>Egy BlackBoard, amire mindenki szabadon helyezhet el
üzeneteket</tt></li>
<ul>
<li><tt>Minden üzenetnek van Id-ja, és tartalma (int,
String)</tt></li>
<li><tt>Az üzeneteket az id-juk alapján lehet kérni</tt></li>
<li><tt>Az üzenet ID-ját a kliens határozza meg, létező ID
újraelhelyezése hibajelzést ad (szabadon eldönthető,
hogy milyet)<br>
</tt></li>
</ul>
<li><tt>Egy üzenetet lehet olvasni (read)</tt></li>
<ul>
<li><tt>Ha nincs a kért ID-jú üzenet, a visszatérési érték
null<br>
</tt></li>
</ul>
<li><tt>Egy üzenetet lehet elhelyezni (write)</tt></li>
<li><tt>Egy üzenetet le lehet venni a BlackBoard-ról (take)</tt></li>
<ul>
<li><tt>Ha nincs a kért ID-jú üzenet, a visszatérési érték
null<br>
</tt></li>
</ul>
<li><tt>Oldja meg a helyes szinkronizációt, és készítse fel
a rendszert több kliensre</tt></li>
</ul>
<li><tt>Hármasért:</tt></li>
<ul>
<li><tt>Írj Logger-t a BlackBoard-hoz</tt></li>
<li><tt>Ha az előzőt RMI-vel írtad, ezt Socket-ekkel
készítsd, és fordítva</tt></li>
<li><tt>A Logger magától kéri el a BlackBoard aktuális
állapotát, és ennek gyakorisága parancssori paraméter</tt></li>
<li><tt>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</tt></li>
<li><tt>A Loggernek a konzolról lehet parancsot küldeni</tt></li>
<ul>
<li><tt>"force" -- azonnali üzenet lekérés</tt></li>
<li><tt>"exit" -- kilép</tt></li>
</ul>
<li>Több Logger is futhasson egy időben</li>
</ul>
<li>+1 jegy:</li>
<ul>
<li> 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</li>
</ul>
<li>+1 jegy:</li>
<ul>
<li>Mirror készítése</li>
<li>Akárhány Mirror lehet egy BlackBoard-hoz</li>
<li>A Mirror magától regisztrál a BlackBoard-ra</li>
<li>A Mirrorok kezdeti állapotát a BlackBoard beállítja</li>
<li>A Mirrorok állapotát a BlackBoard tartja karban</li>
</ul>
</ul>
<p>Szerintem ez így kerek, és megfelelően nehezedő feladat. Nem
lesz sok ötös, de ha valaki 2-est, 3-ast szeretne, az
viszonylag könnyen megkapja. Szerintetek?<br>
</p>
<p>Balu<br>
</p>
<br>
<br>
<br>
2012.05.15. 10:19 keltezéssel, Richard O. Legendi írta:
<blockquote cite="mid:4FB21195.3020200@elte.hu" type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
Örülnék is neki!<br>
Ricsi<br>
<pre class="moz-signature" cols="72">Richard O. Legendi
PhD Student
Eötvös Loránd University, Faculty of Informatics
Department of Programming Languages and Compilers
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://people.inf.elte.hu/legendi/">http://people.inf.elte.hu/legendi/</a>
</pre>
<br>
On 2012.05.15. 9:37, Zaicsek Balázs wrote:
<blockquote cite="mid:4FB207B3.6050803@pnyf.inf.elte.hu"
type="cite">
<meta content="text/html; charset=ISO-8859-1"
http-equiv="Content-Type">
Hi!<br>
<br>
Alapvetően jó, csak nekem egy kicsit bonyolult, ha
belerakhatok pár javaslatot, szólj!<br>
<br>
Balu<br>
<br>
2012.05.14. 13:23 keltezéssel, Richard O. Legendi írta:
<blockquote cite="mid:4FB0EB2D.1080102@elte.hu" type="cite">
<meta http-equiv="content-type" content="text/html;
charset=ISO-8859-1">
Sziasztok!<br>
<br>
Múltkor Balu említette hogy szívesen írna ki feladatot, én
örülnék neki.<br>
<br>
Ö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.<br>
<br>
Legyen egy központ (space/blackboard), ahová kliensek
tudnak<i> write()</i>-olni, <i>read()</i>-elni, meg <i>take()</i>-elni
feladatokat (mint pl. a JavaSpaces-ben, ha ismeritek).
Konkrétan <i>(ID, String)</i> típusú üzenetekre
gondoltam. Lehetne <i>ID</i> alapján szűrni az
üzenetekre, esetleg <i>*</i>-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 ellenőrizni tudjuk a működést).<br>
<br>
További feladatok tetszés szerinti sorrendben megoldhatók
(több is van, ha valamelyik problémás esetleg).<br>
<br>
+1 jegy Felkészítés N db kliensre, megfelelő
szinkronizációval. Legyen egy író, meg egy olvasó kliens,
ami x időnként pakolászik meg olvas.<br>
<br>
+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.).<br>
<br>
+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.).<br>
<br>
+1 jegyért üzenetek naplózása: legyen valami logger
worker, ami minden üzenetet sasol, és logol fájlba (minden
felkerülő üzenet először a loggernek visz fel a rendszer,
majd az leveszi, feldolgozza, és visszaírja a feladatot a
blakcboardra az eredeti címzettnek).<br>
<br>
Vélemény? Túl egyszerű, túl bonyolult? Esetleg van már
másnak konkrét feladatkiírása? :-)<br>
<br>
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, amiből véletlen
kihagyták :-)<br>
<br>
Comments are welcome,<br>
Ricsi<br>
<pre class="moz-signature" cols="72">--
Richard O. Legendi
PhD Student
Eötvös Loránd University, Faculty of Informatics
Department of Programming Languages and Compilers
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="http://people.inf.elte.hu/legendi/">http://people.inf.elte.hu/legendi/</a>
</pre>
</blockquote>
<br>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Orgyak mailing list
<a moz-do-not-send="true" class="moz-txt-link-abbreviated" href="mailto:Orgyak@plc.inf.elte.hu">Orgyak@plc.inf.elte.hu</a>
<a moz-do-not-send="true" class="moz-txt-link-freetext" href="https://plc.inf.elte.hu/mailman/listinfo/orgyak">https://plc.inf.elte.hu/mailman/listinfo/orgyak</a>
</pre>
</blockquote>
</blockquote>
<br>
</blockquote>
<br>
<fieldset class="mimeAttachmentHeader"></fieldset>
<br>
<pre wrap="">_______________________________________________
Orgyak mailing list
<a class="moz-txt-link-abbreviated" href="mailto:Orgyak@plc.inf.elte.hu">Orgyak@plc.inf.elte.hu</a>
<a class="moz-txt-link-freetext" href="https://plc.inf.elte.hu/mailman/listinfo/orgyak">https://plc.inf.elte.hu/mailman/listinfo/orgyak</a>
</pre>
</blockquote>
</body>
</html>