<?xml version="1.0"?>
<?xml-stylesheet type="text/css" href="http://bicep.dei.uc.pt/skins/common/feed.css?207"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
		<id>http://bicep.dei.uc.pt/index.php?feed=atom&amp;target=Rafael&amp;title=Special%3AContributions</id>
		<title>BiCEP - User contributions [en]</title>
		<link rel="self" type="application/atom+xml" href="http://bicep.dei.uc.pt/index.php?feed=atom&amp;target=Rafael&amp;title=Special%3AContributions"/>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Special:Contributions/Rafael"/>
		<updated>2026-09-05T04:19:53Z</updated>
		<subtitle>From BiCEP</subtitle>
		<generator>MediaWiki 1.15.2</generator>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-09T14:17:41Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || 1000 Streams, 1000 Events/sec, 1000 Queries || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || 1000 Streams, 1000 Events/sec, 1000 Queries || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assorted ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0702 || The system shall provide a web service for third-party applications. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0703 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0704 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement</id>
		<title>9ticks:Unsorted List of Requirement</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement"/>
				<updated>2008-10-08T23:24:58Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;TablePager sortable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0702 || The system shall provide a web service for third-party applications. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0703 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0704 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement</id>
		<title>9ticks:Unsorted List of Requirement</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement"/>
				<updated>2008-10-08T23:24:28Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;TablePager sortable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;20%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0702 || The system shall provide a web service for third-party applications. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0703 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0704 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement</id>
		<title>9ticks:Unsorted List of Requirement</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement"/>
				<updated>2008-10-08T23:24:16Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;TablePager sortable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;60%&amp;quot; | Requirement !! width=&amp;quot;20%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0702 || The system shall provide a web service for third-party applications. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0703 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0704 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement</id>
		<title>9ticks:Unsorted List of Requirement</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement"/>
				<updated>2008-10-08T23:24:03Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;TablePager sortable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;=== Generic ===&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;60%&amp;quot; | Requirement !! width=&amp;quot;20%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0702 || The system shall provide a web service for third-party applications. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0703 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0704 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement</id>
		<title>9ticks:Unsorted List of Requirement</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement"/>
				<updated>2008-10-08T23:23:52Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;TablePager sortable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;=== Generic ===&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;60%&amp;quot; | Requirement !! width=&amp;quot;30%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0702 || The system shall provide a web service for third-party applications. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0703 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0704 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture</id>
		<title>9ticks:Software Architecture</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture"/>
				<updated>2008-10-08T23:23:00Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== System Architecture ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Presentation Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Web Server'''&lt;br /&gt;
* '''Web Service Provider''' &amp;amp;mdash; provides third-party applications with a way to access this system (as well our mobile device application)&lt;br /&gt;
&lt;br /&gt;
=== Business Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Scheduler''' &amp;amp;mdash; orchestrates all the business process&lt;br /&gt;
* '''Query Engine''' &amp;amp;mdash; allows the user to perform queries and apply filters to historic information&lt;br /&gt;
* '''CEP Engine''' &amp;amp;mdash; allows the user to define alert rules&lt;br /&gt;
* '''Crawler''' &amp;amp;mdash; polls each source for update in a timely manner&lt;br /&gt;
** '''Collector''' &amp;amp;mdash; concurrent/distributed polling mechanism&lt;br /&gt;
** '''Adapter API''' &amp;amp;mdash; provides the interface shared by all source adapters&lt;br /&gt;
&lt;br /&gt;
=== Data Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Master / Scheduler''' &amp;amp;mdash; schedules, replicates and routes requests through data nodes&lt;br /&gt;
* '''Lock Service''' &amp;amp;mdash; low level locking mechanism&lt;br /&gt;
* '''Data Nodes''' &amp;amp;mdash; represents each place were data is stored&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Source ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_DataSource_v01.png|Data Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This diagram represents the base structure of the 9ticks data organization. It is &amp;quot;relational database&amp;quot;-oriented and '''must not''' be seen as the final architecture. It will be surely needed a '''less normalized''' and '''distributed''' approach.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture</id>
		<title>9ticks:Software Architecture</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture"/>
				<updated>2008-10-08T23:20:32Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== System Architecture ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Presentation Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Web Server'''&lt;br /&gt;
* '''Web Service Provider''' &amp;amp;mdash; provides third-party applications with a way to access our system (as well our mobile device application)&lt;br /&gt;
&lt;br /&gt;
=== Business Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Scheduler''' &amp;amp;mdash; orchestrates all the system's components&lt;br /&gt;
* '''Query Engine''' &amp;amp;mdash; allows the user for perform queries and apply filters to historic information&lt;br /&gt;
* '''CEP Engine''' &amp;amp;mdash; allows the user to define alert rules&lt;br /&gt;
* '''Crawler''' &amp;amp;mdash; polls each source for update in a timely manner&lt;br /&gt;
** '''Collector''' &amp;amp;mdash; concurrent/distributed polling mechanism&lt;br /&gt;
** '''Adapter API''' &amp;amp;mdash; provides the interface shared by all source adapters&lt;br /&gt;
&lt;br /&gt;
=== Data Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Master / Scheduler''' &amp;amp;mdash; schedules, replicates and routes requests through data nodes&lt;br /&gt;
* '''Lock Service''' &amp;amp;mdash; low level locking mechanism&lt;br /&gt;
* '''Data Nodes''' &amp;amp;mdash; represents each place were data is stored&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Source ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_DataSource_v01.png|Data Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This diagram represents the base structure of the 9ticks data organization. It is &amp;quot;relational database&amp;quot;-oriented and '''must not''' be seen as the final architecture. It will be surely needed a '''less normalized''' and '''distributed''' approach.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture</id>
		<title>9ticks:Software Architecture</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture"/>
				<updated>2008-10-08T23:18:24Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== System Architecture ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|right|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Presentation Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Web Server'''&lt;br /&gt;
* '''Web Service Provider''' &amp;amp;mdash; provides third-party applications with a way to access our system (as well our mobile device application)&lt;br /&gt;
&lt;br /&gt;
=== Business Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Scheduler''' &amp;amp;mdash; orchestrates all the system's components&lt;br /&gt;
* '''Query Engine''' &amp;amp;mdash; allows the user for perform queries and apply filters to historic information&lt;br /&gt;
* '''CEP Engine''' &amp;amp;mdash; allows the user to define alert rules&lt;br /&gt;
* '''Crawler''' &amp;amp;mdash; polls each source for update in a timely manner&lt;br /&gt;
** '''Collector''' &amp;amp;mdash; concurrent/distributed polling mechanism&lt;br /&gt;
** '''Adapter API''' &amp;amp;mdash; provides the interface shared by all source adapters&lt;br /&gt;
&lt;br /&gt;
=== Data Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Master / Scheduler''' &amp;amp;mdash; schedules, replicates and routes requests through data nodes&lt;br /&gt;
* '''Lock Service''' &amp;amp;mdash; low level locking mechanism&lt;br /&gt;
* '''Data Nodes''' &amp;amp;mdash; represents each place were data is stored&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Source ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_DataSource_v01.png|right|Data Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This diagram represents the base structure of the 9ticks data organization. It is &amp;quot;relational database&amp;quot;-oriented and '''must not''' be seen as the final architecture. It will be surely needed a '''less normalized''' and '''distributed''' approach.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture</id>
		<title>9ticks:Software Architecture</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture"/>
				<updated>2008-10-08T23:17:40Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== System Architecture ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|frame|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Presentation Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Web Server'''&lt;br /&gt;
* '''Web Service Provider''' &amp;amp;mdash; provides third-party applications with a way to access our system (as well our mobile device application)&lt;br /&gt;
&lt;br /&gt;
=== Business Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Scheduler''' &amp;amp;mdash; orchestrates all the system's components&lt;br /&gt;
* '''Query Engine''' &amp;amp;mdash; allows the user for perform queries and apply filters to historic information&lt;br /&gt;
* '''CEP Engine''' &amp;amp;mdash; allows the user to define alert rules&lt;br /&gt;
* '''Crawler''' &amp;amp;mdash; polls each source for update in a timely manner&lt;br /&gt;
** '''Collector''' &amp;amp;mdash; concurrent/distributed polling mechanism&lt;br /&gt;
** '''Adapter API''' &amp;amp;mdash; provides the interface shared by all source adapters&lt;br /&gt;
&lt;br /&gt;
=== Data Tier ===&lt;br /&gt;
&lt;br /&gt;
* '''Master / Scheduler''' &amp;amp;mdash; schedules, replicates and routes requests through data nodes&lt;br /&gt;
* '''Lock Service''' &amp;amp;mdash; low level locking mechanism&lt;br /&gt;
* '''Data Nodes''' &amp;amp;mdash; represents each place were data is stored&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Source ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_DataSource_v01.png|frame|Data Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This diagram represents the base structure of the 9ticks data organization. It is &amp;quot;relational database&amp;quot;-oriented and '''must not''' be seen as the final architecture. It will be surely needed a '''less normalized''' and '''distributed''' approach.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture</id>
		<title>9ticks:Software Architecture</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture"/>
				<updated>2008-10-08T23:07:11Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== System Architecture ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|frame|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Presentation Tier ===&lt;br /&gt;
&lt;br /&gt;
* Web Server&lt;br /&gt;
* Web Service Provider&lt;br /&gt;
&lt;br /&gt;
=== Business Tier ===&lt;br /&gt;
&lt;br /&gt;
* Scheduler&lt;br /&gt;
* Query Engine&lt;br /&gt;
* CEP Engine&lt;br /&gt;
* Crawler&lt;br /&gt;
** Collector&lt;br /&gt;
** Adapter API&lt;br /&gt;
&lt;br /&gt;
=== Data Tier ===&lt;br /&gt;
&lt;br /&gt;
* Master / Scheduler&lt;br /&gt;
* Lock Service&lt;br /&gt;
* Data Nodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Source ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_DataSource_v01.png|frame|Data Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This diagram represents the base structure of the 9ticks data organization. It is &amp;quot;relational database&amp;quot;-oriented and '''must not''' be seen as the final architecture. It will be surely needed a '''less normalized''' and '''distributed''' approach.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture</id>
		<title>9ticks:Software Architecture</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture"/>
				<updated>2008-10-08T23:05:17Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== System Architecture ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
=== Presentation Tier ===&lt;br /&gt;
&lt;br /&gt;
* Web Server&lt;br /&gt;
* Web Service Provider&lt;br /&gt;
&lt;br /&gt;
=== Business Tier ===&lt;br /&gt;
&lt;br /&gt;
* Scheduler&lt;br /&gt;
* Query Engine&lt;br /&gt;
* CEP Engine&lt;br /&gt;
* Crawler&lt;br /&gt;
** Collector&lt;br /&gt;
** Adapter API&lt;br /&gt;
&lt;br /&gt;
=== Data Tier ===&lt;br /&gt;
&lt;br /&gt;
* Master / Scheduler&lt;br /&gt;
* Lock Service&lt;br /&gt;
* Data Nodes&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Source ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_DataSource_v01.png|Data Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This diagram represents the base structure of the 9ticks data organization. It is &amp;quot;relational database&amp;quot;-oriented and '''must not''' be seen as the final architecture. It will be surely needed a '''less normalized''' and '''distributed''' approach.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture</id>
		<title>9ticks:Software Architecture</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Architecture"/>
				<updated>2008-10-08T23:02:36Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;/* Data Source */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== System Architecture ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Data Source ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_DataSource_v01.png|Data Source]]&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
This diagram represents the base structure of the 9ticks data organization. It is &amp;quot;relational database&amp;quot;-oriented and '''must not''' be seen as the final architecture. It will be surely needed a '''less normalized''' and '''distributed''' approach.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement</id>
		<title>9ticks:Unsorted List of Requirement</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement"/>
				<updated>2008-10-08T23:01:40Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;TablePager sortable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;=== Generic ===&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0702 || The system shall provide a web service for third-party applications. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0703 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0704 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T23:00:38Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assorted ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0702 || The system shall provide a web service for third-party applications. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0703 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0704 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T23:00:06Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assorted ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The system shall provide a web service endpoint for third-party applications. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:56:46Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assorted ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:56:23Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assorted ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The system shall be internationalized. || i18n || 5 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The system shall allow OpenID authentication. ||  || 5 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:56:01Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || User shall apply queries or filters to data sources. The result shall be considered as another source, widely available. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0607 || The solution shall provide low response times. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Assorted ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The communication between the user and the system must be optimize in order of each client type. || Push-based vs pull-based. || 1 || &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The system shall be internationalized. || i18n || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0701 || The system shall allow OpenID authentication. ||  || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:47:14Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0504 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0603 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0604 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0605 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0606 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:46:15Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be able to be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be able to be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be able to be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be able to be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be able to be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be able to be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be able to be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar/equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be able to be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be able to be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be able to be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be able to be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0310 || Each custom source shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user's alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be alerted in a short time window. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and scalability. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and scalability. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:36:58Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || An efficient scheduling policy shall be in place. || || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:33:33Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define when and how be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:30:42Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:30:11Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0011 || User shall perform all operations in real-time. || Minimum delays. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:27:49Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;/* Sources */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. Details are TBD. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:24:58Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall tag sources. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0010 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || There shall exist a data source API. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement</id>
		<title>9ticks:Unsorted List of Requirement</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement"/>
				<updated>2008-10-08T22:14:54Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;TablePager sortable&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0101 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0102 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || Each source shall have associated tags. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:14:29Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
* To see an '''unsorted list of requirement''' folow '''[[9ticks:Unsorted_List_of_Requirement|this]]''' link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0102 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || Each source shall have associated tags. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement</id>
		<title>9ticks:Unsorted List of Requirement</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Unsorted_List_of_Requirement"/>
				<updated>2008-10-08T22:13:28Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;New page: {| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot; |- ! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status |- | REQ_0001 || User shall access the system through a ...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0101 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0102 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || Each source shall have associated tags. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:12:18Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
To see an unsorted list of requirement folow [[9ticks:Unsorted_List_of_Requirement|this]] link.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0102 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || Each source shall have associated tags. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:11:43Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
&lt;br /&gt;
To see an unsorted list of requirement folow [[9ticks:Unsorted_List_of_Requirement|this]] link.&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0102 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || Each source shall have associated tags. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:10:01Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0003 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0004 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0005 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0006 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0007 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0008 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0009 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0102 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || Each source shall have associated tags. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0201 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0202 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || A predefined Traffic source shall be subscribed. || Route must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 1 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0302 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0303 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0304 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0305 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0306 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0307 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0308 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0309 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0401 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0402 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0501 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0502 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0503 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0601 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0602 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T22:08:06Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || Queries, visualizations and filters shall be stored for future re-utilization by any user. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0001 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0002 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0002 || Each source shall have associated tags. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0103 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0104 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0105 || A predefined Traffic source shall be subscribed. || Route must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0106 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0107 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 2 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0201 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0202 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0208 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0209 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || Each user alert rules shall be processed on-the-fly. || Use a CEP engine, Esper maybe. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || User shall be notified of an alert as soon as possible. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall handle stress peaks. || Many sources, many events and many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || An aggregation engine shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || A locking service must be in place. || Low level concurrency prevention. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:57:51Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0001 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0002 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0002 || Each source shall have associated tags. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0103 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0104 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0105 || A predefined Traffic source shall be subscribed. || Route must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0106 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0107 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 2 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0201 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0202 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0208 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0209 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Event Processing ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || asd || asd || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || An aggregation mechanism shall be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || A fault tolerant mechanism must be in place. || Replicate data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:55:01Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall access the system through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0001 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0002 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0002 || Each source shall have associated tags. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0103 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0104 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0105 || A predefined Traffic source shall be subscribed. || Route must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0106 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0107 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 2 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0201 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0202 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0208 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0209 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || Each source must be polled for updates every &amp;quot;refresh rate&amp;quot;-times. || Based on each source's refresh rate. || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall have good performance and be scalable. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || An aggregation mechanism must be in place. || Summarize older data. || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall have good performance and be scalable. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || The solution shall handle stress peaks. || Many Sources, Many Events and Many users | || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:42:44Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Generic ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || The system shall be accessed through a web browser. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || The system shall be accessed through a mobile device. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall subscribe sources. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall visualize each source from several perspectives. || e.g.: textual, bar chart, pie chart, ... || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0001 || User shall visualize sources in comparison mode. || e.g.: overlap two stock quotes || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall define how to be alerted of events. ||  || 1 || Draft &lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall visualize the history of any source. ||  || 1 || Draft&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0002 || User shall perform queries over the gathered data. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0001 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0002 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0002 || Each source shall have associated tags. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0103 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0104 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0105 || A predefined Traffic source shall be subscribed. || Route must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0106 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0107 || A predefined eBay item source shall be subscribed. || Item ID must be provided. || 2 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0201 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0202 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0208 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0209 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Crawler ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || Req || Desc || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Store ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || Req || Desc || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed, yet.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:23:49Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Data Source API ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0001 || A data source API should be built. || Every source, predefined or custom, must use this API. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0002 || Data source API specifications TBD ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0103 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0104 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0105 || A predefined Traffic source shall be subscribed. || Route must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0106 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0107 || A predefined Ebay item source shall be subscribed. || Item ID must be provided. || 2 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0201 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0202 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0208 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0209 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Something ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || Req || Desc || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Architecture</id>
		<title>Talk:9ticks:Software Architecture</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Architecture"/>
				<updated>2008-10-08T21:14:36Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;New page: Please place the comment followed by 4 tildes. For instance:   Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;  will produce:   Discussion open! Rafael Marmelo 21:10, 8 October 2008...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please place the comment followed by 4 tildes. For instance:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! [[User:Rafael|Rafael Marmelo]] 21:10, 8 October 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
&lt;br /&gt;
Your comments here!&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks</id>
		<title>Talk:9ticks</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks"/>
				<updated>2008-10-08T21:14:27Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;New page: Please place the comment followed by 4 tildes. For instance:   Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;  will produce:   Discussion open! Rafael Marmelo 21:10, 8 October 2008...&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please place the comment followed by 4 tildes. For instance:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! [[User:Rafael|Rafael Marmelo]] 21:10, 8 October 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
&lt;br /&gt;
Your comments here!&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements</id>
		<title>Talk:9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:14:08Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please place the comment followed by 4 tildes. For instance:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! [[User:Rafael|Rafael Marmelo]] 21:10, 8 October 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
&lt;br /&gt;
Your comments here!&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements</id>
		<title>Talk:9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:13:58Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please place the comment followed by 4 tildes. For instance,&lt;br /&gt;
&lt;br /&gt;
 Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! [[User:Rafael|Rafael Marmelo]] 21:10, 8 October 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
&lt;br /&gt;
Your comments here!&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements</id>
		<title>Talk:9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:13:27Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please place the comment followed by 4 tildes. For instance:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! [[User:Rafael|Rafael Marmelo]] 21:10, 8 October 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
&lt;br /&gt;
Your comments here!&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements</id>
		<title>Talk:9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:13:17Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please place the comment followed by 4 tildes. For instance:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! [[User:Rafael|Rafael Marmelo]] 21:10, 8 October 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
&lt;br /&gt;
Your comments here!&lt;br /&gt;
&lt;br /&gt;
Yeah!\\[[User:Rafael|Rafael Marmelo]] 21:13, 8 October 2008 (GMT)&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements</id>
		<title>Talk:9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:11:24Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please place the comment followed by 4 tildes. For instance:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! [[User:Rafael|Rafael Marmelo]] 21:10, 8 October 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== Discussion ==&lt;br /&gt;
&lt;br /&gt;
Your comments here!&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements</id>
		<title>Talk:9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:10:48Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Your comment here!&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
&lt;br /&gt;
Please place the comment followed by 4 tildes. For instance:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! [[User:Rafael|Rafael Marmelo]] 21:10, 8 October 2008 (GMT)&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements</id>
		<title>Talk:9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:10:16Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Please place the comment followed by 4 tildes. For instance:&lt;br /&gt;
&lt;br /&gt;
 Discussion open! &amp;lt;nowiki&amp;gt;~~~~&amp;lt;/nowiki&amp;gt;&lt;br /&gt;
&lt;br /&gt;
will produce:&lt;br /&gt;
&lt;br /&gt;
 Discussion open!&lt;br /&gt;
 [[User:Rafael|Rafael Marmelo]] 21:05, 8 October 2008 (GMT)&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements</id>
		<title>Talk:9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:06:31Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;asd&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Discussion open!&lt;br /&gt;
[[User:Rafael|Rafael Marmelo]] 21:05, 8 October 2008 (GMT)&lt;br /&gt;
&lt;br /&gt;
== asd ==&lt;br /&gt;
&lt;br /&gt;
asdsd&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements</id>
		<title>Talk:9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:05:39Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Discussion open!&lt;br /&gt;
[[User:Rafael|Rafael Marmelo]] 21:05, 8 October 2008 (GMT)&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements</id>
		<title>Talk:9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/Talk:9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:05:12Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;New page: Discussion open! ~~~~&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Discussion open! [[User:Rafael|Rafael Marmelo]] 21:05, 8 October 2008 (GMT)&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	<entry>
		<id>http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements</id>
		<title>9ticks:Software Requirements</title>
		<link rel="alternate" type="text/html" href="http://bicep.dei.uc.pt/index.php/9ticks:Software_Requirements"/>
				<updated>2008-10-08T21:01:07Z</updated>
		
		<summary type="html">&lt;p&gt;Rafael:&amp;#32;&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;== Requirements Overview ==&lt;br /&gt;
&lt;br /&gt;
* Retrieve, interpret and store data source events&lt;br /&gt;
* Web and mobile-based frontends&lt;br /&gt;
* Predefined and custom data sources&lt;br /&gt;
* Visualizations&lt;br /&gt;
* Queries&lt;br /&gt;
* Alerts&lt;br /&gt;
* History&lt;br /&gt;
* Tags&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== List of Requirements ==&lt;br /&gt;
&lt;br /&gt;
[[Image:9ticks_SystemArchitecture_v01.png|thumb|System Architecture]]&lt;br /&gt;
&lt;br /&gt;
* The distinction between user, functional and non-functional requirements is ignored&lt;br /&gt;
* The requirements are sorted by logical groups&lt;br /&gt;
* Each requirement has been assigned with the following properties:&lt;br /&gt;
** '''Code''' &amp;amp;mdash; REQ_[0-9]{4}&lt;br /&gt;
** '''Requirement'''&lt;br /&gt;
** '''Comment'''&lt;br /&gt;
** '''Priority''' &amp;amp;mdash; from 1 to 5 (1 as highest)&lt;br /&gt;
** '''Status''' &amp;amp;mdash; Draft, Approved, In Progress, Testing, Finished&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Predefined Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! align=&amp;quot;center&amp;quot; | Status&lt;br /&gt;
|- &lt;br /&gt;
| REQ_0100 || A predefined Stock source shall be subscribed. || Market and quote must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0101 || A predefined Weather source shall be subscribed. || Location must be provided (defaulting to the IP physical location). || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0102 || A predefined Sports source shall be subscribed. || A specific match (source is only that match) or generic team (all team matches) must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0103 || A predefined Flight source shall be subscribed. || Flight number and flight date must be provided. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0104 || A predefined Traffic source shall be subscribed. || Route must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0105 || A predefined RSS Feed source shall be subscribed. || RSS URL must be provided. || 2 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0106 || A predefined Ebay item source shall be subscribed. || Item ID must be provided. || 2 || Draft&lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Custom Sources ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0201 || User shall use a browser extension to select some peaces of information he wants to monitor. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0202 || The information selected with the browser extension shall be automatically typed.  || May be overridden by the user. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0203 || System shall recognize basic data types.  || e.g.: integer, decimal, percentage, time, date, string, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0204 || System shall connect similar / equivalent data types.  || e.g.: Celsius, Fahrenheit, Kelvin, ... ; Meter, Mile, Yard, Foot, ... ; Euro, U.S. Dollar, Pound, Swiss franc, ... || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0205 || Any single HTML item shall be selected. || e.g.: a table cell or an anchor. || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0206 || Every repetitive HTML item shall be selected. || e.g.: all main titles || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0207 || An HTML table shall be selected. ||  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0208 || Parts of an HTML table shall be selected. || e.g.: a row whose cell at nth column has the value X  || 1 || Draft &lt;br /&gt;
|- &lt;br /&gt;
| REQ_0209 || All items inside a bounded polygon shall be selected. ||  || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
=== Something ===&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;TablePager&amp;quot; border=&amp;quot;1&amp;quot; width=&amp;quot;100%&amp;quot;&lt;br /&gt;
|-&lt;br /&gt;
! Code !! width=&amp;quot;50%&amp;quot; | Requirement !! width=&amp;quot;40%&amp;quot; | Comment !! Priority !! Status&lt;br /&gt;
|-&lt;br /&gt;
| REQ_0301 || Req || Desc || 1 || Draft &lt;br /&gt;
|}&lt;br /&gt;
&lt;br /&gt;
== Requirement Traceability Matrix ==&lt;br /&gt;
&lt;br /&gt;
Not needed.&lt;/div&gt;</summary>
		<author><name>Rafael</name></author>	</entry>

	</feed>