<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>