Frequently Asked Questions

General

Will this assignment be graded?
No, this is a mandatory working requirement you must pass to be able to take the exam, and will not be graded. If you have smaller shortcomings you will get feedback on these parts and be given the possibility to deliver again. Large shortcomings might result in a fail, so it is much better to contact me if you have problems so we can work them out together.
 

Can we have a meeting?
Yes, absolutely. Just send me an email and suggest a time and date and I will try to comply. A good idea can be to have a meeting when you are scheduled to work on the real sensors so we can look at your solutions together.
 

Why can't I log into dmms-lab107?
The machine is behind UiO's firewall, so you need to be on the wired connection or use VPN to access it.
 

Can you install git for version control?
Yes. Done.
 

How do I copy the result files from dmms-lab107?
Use scp. Just write scp your_file your_username@login.ifi.uio.no:~/your_result_folder/. For windows you can download WinScp.
 

How do we change our password?
Write passwd in the terminal and press enter. Input you current password and the new password twice.
 

Part I: TinyDB

How come my TinyDB windows have no content, only the title bar?
It might be that one of you old instances of TinyDB is still running. You can try to kill it with killall java and see if that helps. Also, remember to use ssh -X INF500-XX@dmms-lab107 to turn on X forwarding.
 

What does "failed to connect to Postgres!" mean?
The server was rebooted, likely due to power outage. You have to restart the postmaster. Please refer to the details slide.
 

How can I know who has access to the real sensors now?
The schedule should be correct, but you can get the current owner of the sensors by running: ls -l /dev/ttyS0 | awk '{print $3}'
 

Why does avrora not connect?
avrora is waiting for you to start sf. You need to open three terminals when working with the emulator. One for avrora, one for sf and one for tinydb. Remember to write ojava in all of them.
 

Why is TinyDB and the Serial Forwarder not working, giving write errors and no output?
Remember to start ojava in every terminal when working with TinyDB. Also try to close all instances of avrora, sf and tindb and try again. If the problem persists, I will not be strict when correcting this part of your assignment. The real sensors are working better.
 

Did you know that avrora and sf are behaving better when "Log to database" is checked?
No, but that is very nice to know for all the groups, so I should put it on the FAQ.
 

May I have access to the real sensors at other times than given in the schedule?
You may not take another group's time, but I can give you access after 18 if you really need it.
 

What is the relation between avrora, sf and tinydb?
avrora is the emulator. It produces data similarly to the real sensors. It connects to sf, the serial forwarder, which in turn forwards data to tinydb. That is why you need to change tinydb.conf depending on if you are working with the emulator or real sensors.
 

Do we need to code anything in Part I?
No. Just start tinydb (and avrora and sf if you are working with the emulator) and use the GUI presented. It is quite buggy, so try to restart everything if things does not happen. Sorry about this.
 

Part II: Esper

Is something wrong with the number of parameters I should pass to the application?
Yes, it seems you are right. When looking at the script to start the application, INF5100, I see that the number of parameters should be 4. 1) ../userData/subjectX/activities_data_eventStream.csv 2) ../userData/Queries.dat 3) ../userData/Listeners.dat 4) ../userData/subject1/sensors.csv Sorry about this!
 

I could solve all these tasks in pure Java in SensorEventListener.java and leave Queries.dat. Is that OK?
Well, no. Part of this assignment is to learn a bit of EPL and to better understand the differences between stream databases and traditional databases. I would ask you to solve as much of the tasks as possible in the Queries.dat and as little as possible in the SensorEventListener.java
 

How do we get started?
Take a look at the Queries.dat and SensorEventListener.java files. Try to understand the link between SELECT statement and event.get("attribute") Read examples and tutorials over at http://esper.codehaus.org/.
 

Can we copy the Esper code to our own machine to compile and run it there?
Yes, this works fine. However, you must to have the Esper library available. Download from http://esper.codehaus.org/esper/download/download.html and set the PATH accordingly.
 

Why does not my queries to Esper return anything?
You have to be extra careful that the attributes you request are exactly the same as you event.get(). The name, order, etc. HAVE to be identical, otherwise no output. I suggest using SELECT x.xyz AS name so you are 100% sure you can do event.get("name").
 




 

Published Sep. 6, 2011 2:00 PM - Last modified Oct. 21, 2011 1:36 PM