Ziyan Zhou

In the past six months, I’ve devoted a lot of time making Reactivity. Since the competition is over for me now, I can talk about the details about Reactivity, things that I am proud of and the process of making it happen.

What is Reactivity?
Reactivity started as an idea to do home automation. I’ve always wanted to incorporate intelligent control into my house in a cheap and easy way. With that and the theme of Imagine Cup 2008 in mind, we expanded our idea to a sensing and control network, combining distributed data acquisition and intelligent control. By using this network, we hope to monitor and possibly reduce power consumption in corporate office buildings and university campuses. These two places really are a big piece of the pie, and people just haven’t realized that yet.

Distributed Sensing
Distributed data acquisition means that we gather sensor information from various types of sensors in arbitrary locations.

Reactivity has two types of servers, main server and node server. Node servers interface to hardware devices directly, and they push data up to the main server through Ethernet. Multiple node server exist to expand the network. In this way, as long as there is Ethernet connection, wired or wireless, sensors can be distributed.

We use Windows Communication Foundation as the mean of communication between main server and node servers. But we do not specify the protocol used to interface hardware devices. This leaves a huge space for expansion. We can use Zigbee, .NET Micro Framwork, Wi-Fi, Serial/USB, Data over Powerline, or whatever protocol suitable for the devices and environment.

Intelligent Control
Intelligent control comes in place when we want to react to an environmental change.

We abstract a device to be something that has various services. A service could be sensing service, in which case data outputs from the device. It could also be a control service and accepts commands. Using this two way system, a command can be sent to a particular service on a device, say, to turn off a server, to shade a window, to lower an air conditioner’s set temperature etc.

But what makes this control system intelligent is something we called ‘Rule Chain’. When the data, collected by sensors comes into the main server through node servers, it is queued and almost immediately picked up by one of many idle worker thread. The thread puts the data through a set of rules specified by network administrator.

Think of a rule as a small program, it takes the sensor data as input and do whatever needed to be done. For example, I can write a simple program to warn me through SMS messages when the room temperature is too high. This program may use a online web service to send the SMS message, an E-mail server, or even hardware connection to a mobile phone in case you want it to actually call you. We all know .NET Framework can do this sort of things. Now, imagine you can take all the code you just wrote, and put it right into Reactivity network as a rule, the server will compile the new rule you just wrote on the fly. Before you know it, your new program is running on the server, kept busy by all the sensor data and ready to send you that crucial SMS message when the condition is met. If you prefer to compile the code yourself, that’s totally fine, just upload the assembly dll to the server and make a rule to use that dll instead of source code.

This Rule Chain system was actually inspired by Linux’s iptables, a system to do network packet level filtering firewall and so much more. With the Rule Chain system being the core of Reactivity network, our next step is to write rules that incorporate artificial intelligent, machine learning, adaptive behaviors. And guess what, this is a great place to collaborate and test your fancy algorithms.


BROWSE / IN TIMELINE
«
»

BROWSE / IN SAME CATEGORY English
«
»

COMMENTS / 2 COMMENTS

That’s very pity you can’t get the winner! You have a great idea. What’s happened during competition?

Cath added these pithy words on Jul 06, 2008

Our software was great but we did not have any functioning hardware. And we were behind schedule the entire time. We were still scripting our presentation right before the first round. And it went pretty bad due to the lack of rehearsal. Although our second presentation went relatively well, it did not help much. Imagine Cup Software Design is all about presentation. We failed to present the hard work we’ve done in the past six months. I will post more about it in future posts.

ziyan added these pithy words on Jul 06, 2008

SPEAK / ADD YOUR COMMENT

Reactivity – Introduction


Posted on Jul 05, 2008 to category English, tagged as , , , , .
Subscribe to follow comments on this post. 2 comments. Add your thoughts or trackback from your own site.

FRESH / LATEST POSTS

Feeds