Announcements


New announcements

Tuesday 25/2/03

MOED B solution is available.

Wednesday 12/2/03

Answers to the exam are available.

Wednesday 5/2/03

Here you can find the slides I used yesterday during my summary class (Meni).

Monday 3/2/03

Two examples of questions (on threads and memory) were added.

Sunday 02/02/03

As previously announced, student how were absent from studies for a long period during the semester (soldiers, medical problem, etc’) may listen for supplement lectures this Tuesday between 12:00 and 18:00 (107/28). In this class, we will extensively discuss material from the semester, according to the audience requests. Students, who have attended Elad’s classes during the semester, are invited as well.

Thursday 30/1/03

We are still working on the extraction of the whole set of last two years’ exams from MADOR BECHINOT…

Meanwhile, you can search BANK BECHINOT for MOED A of 2002 and look at MOED B and part of MOED A of 2001.

Exams up to 2000 are not much relevant.

Sunday 26/1/03

The summary class of Meni’s students, will take place at Tuesday 4/2/03 14:00, room 227 - building 90.

Wednesday 22/1/03

Assignment 4: you can register for frontal checking at
www.cs.bgu.ac.il/~twittoy

Wednesday 15/1/03

Assignment 4 FINAL DUE DATE IS THE 18/1/03

Monday 13/1/03

Assignment 4 - The code directory was modified:

  1. CTRL^C termination event is caught by the Reactor with shutDownHook.
  2. Socket closing by the client, is identified and handled by the Handler with cancel() method of SelectionKey class.
  3. java.policy file was extended to support reading of user.name value via System.getPropery(), and multicast connections.

Sunday 12/1/03

Assignment 4: Since HSQL does not support same name for two indexes, defined over two different tables, the name of the unique indexes of CLIENTS and MULTIMEDIA_TYPE tables should be distinct.

Sunday 12/1/03

Assignment 4 – RMI

The sample code to run RMI is expanded: http://www.cs.bgu.ac.il/~spl031/assignments/EX4/Code/BrowserClient. The code now provides a sample server to test the RMI client that also uses logging. The java.policy file is expanded to allow logging. NOTE: To run the RMI server, you must make sure the following conditions hold:

  • Set the CLASSPATH environment variable to include the directory in which the server classes (including the stub class) are located.
  • Run rmiregistry. Always provide a port number to rmiregistry to be sure you connect to the rmiregistry you have invoked and not to an instance started by another student.
  • Because rmiregistry is run in an environment in which CLASSPATH is defined, when the server does "rebind", it will find the STUB class file generated by rmic in the classpath directory. Otherwise, you will get an error message of "Class not found" when doing rebind.
  • Compilation instructions:
    1. javac *.java
    2. rmic Server
  • Running instructions:
    1. rmiregistry rmiregistryport &
    2. java -Djava.security.policy=java.policy Server rmiregistryport &
    3. java -Djava.security.policy=java.policy BrowserClient localhost rmiregistryport

 

Thursday 9/1/03

Assignment 4 - Step 3: C++/ACE Client for pipelining

Sample code is now available http://www.cs.bgu.ac.il/~spl031/assignments/EX4/Code/Client. The code illustrates one strategy to implement pipelining on the client side using only blocking I/O.

This completes the steps for implementing Assignment 4: To summarize,

  • Non-blocking IO with a reactor in Java on the server side only
  • Pipelining in the server side
  • Pipelining in the client side
  • Discovery protocol
  • Database handling

You have done well, congratulations.

Thursday 9/1/03

In order to use the given BrowserClient program:

  1. Run the name server:

rmiregistry  &

  1. Copy the java.policy file and run the server with it:

           java -Djava.security.policy=java.policy Server &

  1. Run the BrowserClient program.

java BrowserClient localhost

Wednesday 8/1/03

The reception hours of Enav for next week move to Monday(13/01/03) 14:00-16:00.

Tuesday 7/1/03

Please register for the frontal checking of assignment 3, at http://www.cs.bgu.ac.il/~saary/SPL031_Ex3/default.htm

Tuesday 7/1/03

Assignment 4 - Step 2: Implementation of the persistence feature, without having any client.

 

In this step we implement the persistence feature of the server:

-         Database creation and initialization.

-         Insertion/Modification of files data (sent by the client) to/in the database.

-         Selection of files data by the Browser remote object.

We do not have to use any client implementation; the only available code is the Reactor pattern.

 

The Reactor should be extended to include:

-         A class (let's call it DBHandler) that can ‘talk’ with the database (such as the testdb class).

-         Code for file insertion/modification (investigate the reactor pattern in order to find who is responsible for it)

-         A remote object to browse the database.

 

Q: But we don’t have any client!

A: Well, we can use telnet as a client ((במקרה הכינותי עמי:

 

telnet host port

 

Where host is the name of the computer to run the server (such as black) and port is the port of the server socket (as printed by the server when executed). The server will receive any rubbish, typed in the telnet window, as was sent by the client (the delimiter is #).

 

See you at step 3.

Tuesday 7/1/03

The database definition and the example were modified.

To make life simpler, the CLIECT and TYPE fields of MULTIMEDIA_FILES table is changed to be VARCHAR (i.e. to contain the client name and the file type name). In such a way you don’t have to retrieve the ID of client due its name.

Monday 6/1/03

This announcement concerns students how were absent for a long period during this semester, due to a justified reason (such as military service, illness, or other important personal reason).

 

Some of you have contacted me during the semester, and now I would like to ask, “how are you doing?” Please take the time to replay for this letter, and send the following form to course account (spl031@cs.bgu.ac.il). Please use the title: Re: Military service, illness, or other important personal issue

Which assignment have you NOT submitted (or you are planning not to):

1 2 3 4

 

Which lectures you have missed, you did not understand from the online martial, and you would like to hear:

1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

The list is available at: http://www.cs.bgu.ac.il/~spl031/lectures/index.html

 

Would you be interested to hear (some) of this lectures two of three days before the exam:

Yes No

 

Do you have any comments (English only please):

 

Monday 6/1/03

Use telnet (see man –s 1 telnet) to connect to your server as a client. For example, telnet myhost.cs.bgu.ac.il 8035 (that is your host name and port number).

Monday 6/1/03

Assignment4: Instead of server address the configuration file should contain the name of the server it would like to connect to.

Monday 6/1/03

Assignment 4: As first step, we will start with the ‘Discovery’ feature of the client. A simple publisher program will help us implementing and testing the discovery part of client without involving the whole server (The program broadcasts the message we need, according to the command line parameters).

Since not all of us have a good client implementation, we may use the client that will be given today.

Hope to meet you at step 2 J.

Sunday 5/1/03

Yohai, the checker of assignment 2, scheduled another day for checking assignment #2 - Wednesday 8/1/03, please register at his site (by emailing him).

Sunday 5/1/03

The testdb.java code of assignment 4 was extended with an example, demonstrating how to insert a record to a table without knowing if the record already exists.

Thursday 2/1/03

The code example of assignment 4 was updated. See Handler.java and MessageProcessor.java

Thursday 2/1/03

Assignment 3: due to problems in the submission system Wed evening, you can submit assignment 3 until Thursday evening.

Wednesday 1/1/03

Assignment 4 now available.

A special bonus will be given for those who will also submit the extended version (-;

Sunday 29/12/02

Roi is on MILUIM so his sessions are canceled.
Insted, Avi will give his sessions on Wednesdays 8-10(which were Rois houers)
and on Wednesdays 10-12. Avis sessions on Mondays are also off.

Thursday 29/12/02

here is the html page for checking ass #2. Anyone who didn't register in class for the frontal checking, should follow the link, to register...

Thursday 26/12/02

Assignment 3 - To the students who asked me (Meni) about:
1. Connection registry: Look at the sixth question/answer of the FAQ. In case you don't understand - please contact me.
2. The server's indication of a client's socket closing is the return of null value (0) of read operation over the socket's input stream.

Wednesday 25/12/02

Please check the Main.cpp file in the client. It is an example of obtaining the content of a directory in linux.

Tuesday 24/12/02

Assignment 3: A general makefile was added to the client directory, all you have to do is setting the names of your object files (i.e. a list containing your cpp files' names with .o extention) in the OBJECTS line.

Sunday 22/12/02

Assignment 2: New due date is Monday 23 Dec (due to network problems over the week end).

Sunday 22/12/02

Assignment 3: For assignment 3, there is no need to use Non-blocking IO. All the assignment must be done using blocking IO only. Each thread in the thread-pool is connected to a single socket at a time, and keeps reading and writing through this socket until the socket is closed and the connection terminated with this client. The references to Non-blocking IO will be useful for Targil 4 only.

Sunday 22/12/02

Assignment 3: helpful (and "clean") ACE examples

Thursday 19/12/02

Assignment 3: We suggest you to start working on the server (with the given code). We'll give you an additional code for the client, based on ACE, up to the Sunday.

Thursday

19/12/02

New version of assignment 3 is now available; errata were corrected, more useful link, and details were added to make the description clear. Moreover, you are allowed to use these code examples in your coding. You are to modify this code (see the TODO remarks). We make no guaranties about its correctness.

Wednesday 18/12/02

Assignment 3 now available.

Tuesday 17/12/02

Assignment 2: The new submission date is: 22/12/2002. Pay attention, the next assignment will be published on Wednesday. If you choose to use the spare time for this assignment, you’ll have less time for the next.

Tuesday 17/12/02

Assignment 2: You are allowed to submit a file called "Design.jpeg" instead of "Design.doc" with a scanning of your diagrams. If you decide to do that, your hand-write must be very (!!!) clear.

Monday 16/12/02

We added code files, compilation, and linking instructions to TIRGUL 9.
Try running the examples.

Sunday 15/12/02

Sorry, one more fix in the implementation (windows and Unix...)

Sunday 15/12/02

For those who downloaded the new version of the implementation for Unix, you probably saw no fixes had made, I’m sorry but I exceedingly put the previous version on the net; please re-download for the new version.

Thursday 12/12/02

Black is alive again, so you have the bug fixed version of my implementation of the assignment also in its version for UNIX/black. Please re-download from the assignment page and test with it.

Thursday 12/12/02

Few notes about assignment 2:
1. The initial speed in the road is min (length/cars, MAX_SPEED), that means that if the first car is faulty, the cars behind it will have half of min (length/cars, MAX_SPEED) and not min(((length/car)/2), MAX_SPEED).
2. When advancing cars, we do it in this order: first, according to there position in the road (from the ones that are closer to the end of the road to the ones that are behind them) and if two cars are in the same position, we first advance the car with the lower id (as mentioned in the FAQ).
3. I fixed a few problems in the implementation, but since black is down at the moment I could only compile it under windows. So if you re-download the windows executable from the specification page, you will have the latest version.
please re-check for identity with your results, so we will have no problems in the check of the assignment. p.s. I will publish the UNIX/black executable as soon as black will be up. Yinnon

Wednesday 11/12/02

We are reminding you that assignment 2 will be tested against the implementation that we gave you (at the bottom of the specification of the assignment). Please let us know if you think that something is wrong with this implementation.

Wednesday 11/12/02

Here is a zip file with an example on how to make and using static and global variables. look in the main.cpp file for details.

Sunday 8/12/02

Here is a the page holding the grades of assignment 1 (There were some changes in the grades)

Wednesday 4/12/02

Meni's office hours this Thursday will take place between: 14:30 - 16:30.

Tuesday 3/12/02

We made minor changes to the assignment. They are marked in red in the assignment specification.

Tuesday 3/12/02

Here is a tutorial for map template class (it is essential to implement the assignment).

Tuesday 3/12/02

Roie's office hours this Wednesday will take place between: 12:00 - 13:00 & 14:30 - 15:30.

Friday 29/11/02

Assignment 2 is available.

Wednesday 27/11/02

Here is a link to the grades page of assignment 1.

Tuesday 26/11/02

Here is a link to c++ help.

Sunday 24/11/02

The practical sessions ("tirgulim") for tomorrow (Monday 25/11/02) will be held in building 34: 314(Nadav) 307(Avi) 302(Enav).

Sunday 24/11/02

A week ago the book "Accelerated C++" was forgotten in Lab-34/302. If anyone seen / took it, we will be most thankful if you return it to Enav or Yinnon (room 58/210). Thanks in advance.

Monday 18/11/02

For students that don't participate in the course "Unix Systems" this semester, here is the link to the course web site - you can find a lot of useful information there concerning your development environment (compiling / linking / makefiles etc.)

Sunday 17/11/02

The practical sessions ("tirgulim") for tomorrow (Monday 18/11/02) will be held in building 34: 314(Nadav) 307(Avi) 302(Enav).

Thursday 14/11/02

Homework 3 is due to Monday 18.11.02. Look again the in homework page for clarifications.

Monday 11/11/02

Due to the failures in network yesterday, you have 2 more days for the assignment. The new date is 13.11.2002 until midnight. Please be sure to notify the lab for any problems with the network / computers / hosts.

Sunday 10/11/02

The practical sessions ("tirgulim") for tomorrow (Monday) will be held in building 34: 314(Nadav) 307(Avi) 302(Enav). Notice that Avi Bab is back from miluim.

Friday 8/11/02

Here is a link to the FAQ page of the lab, use this to know how to use the university email and computer from home / from the university!

Friday 8/11/02

Please DON'T send emails from hotmail.com - simply because I can't replay to them. Use your mail in the university. (Yinnon)

Friday 8/11/02

Here is the link for the first assignment checker page - enter it and read the instructions on how to register to the frontal check.

Wednesday 6/11/02

We fixed some problems in the submission system (added the first assignment and homework 2/3) so you can submit them now.

Wednesday 6/11/02

Some of you were confused because in the example of the configuration file in the description all producers got the same path to its directory. Well every producer gets a different path!!!

Tuesday 5/11/02

There was a small change in the description of the first assignment in the Round Robin algorithm due to the awareness of some of you. The command break in line 6 has bin replaced with the command return.

Tuesday 5/11/02

Meni's reception hours are moved to Thursday at 16:00 - 18:00.

Monday 4/11/02

Yinnon Haviv's reception hours are moved (permanently) to Tuesday at 10:00 - 12:00 (room 210).

Sunday 3/11/02

Enav Weinreb's 'TIRGUL' class on Monday 4.11 8:00-10:00 will be held in room 34/307 (since the lab on 90/015 is not ready yet)

Monday 28/10/02

The first assignment is now available in the assignment section. good luck

Monday 7/10/02

Avi Babs 'TIRGUL' classes will not take place until the 9/11, until that date all students registered to Avis classes are invited to attend the classes of the other T.A.'s.

Monday 7/10/02

Welcome to System Programming course 2002/3.