Requirements Specification Data ServerRevision C - 3 MAY 1996 |
Name | Position | E-mail address | |
---|---|---|---|
Author(s): | Martin Fredriksson Linus Girdland | Team Member Team Member | pt93mf@pt.hk-r.se pt93lg@pt.hk-r.se |
Responsible: | Magnus Thuresson | SAGA Team Manager | pt93mth@pt.hk-r.se |
To: | SAIDA | SAIDA Team | saida@pt.hk-r.se |
Cc: | Peter Molin | Head of Department | peter.molin@ide.hk-r.se |
Microsoft, Windows, Visual Basic and OLE are trademarks of Microsoft Corporation in the USA and other countries.
The scope of this Requirements Specification is the Data Server which resides on the CCN.
F1.1 It shall be possible to get a list of available SAIDA Groups and SAIDA Variables under a specified SAIDA Group.
A1.2 The hierarchy shall be able to contain multiple sub levels.
F1.3 The hierarchy shall be able to contain SAIDA Groups.
F1.3.1 It shall be possible to remove a SAIDA Group from the hierarchy.
F1.3.2 It shall be possible to insert a new SAIDA Group into the hierarchy.
F1.3.3 It shall be possible to rename a SAIDA Group.
A1.3.4 The hierarchy shall be able to contain multiple SAIDA Groups.
A1.3.5 A SAIDA Group Shall be able to contain multiple SAIDA Groups.
A1.3.6 A SAIDA Group Shall be able to contain multiple SAIDA Variables.
F1.4 The hierarchy shall be able to contain SAIDA Variables.
F1.4.1 It shall be possible to remove a SAIDA Variable from a SAIDA Group.
F1.4.2 It shall be possible to insert a SAIDA Variable into a SAIDA Group.
F1.4.2.1 The SAIDA Variable shall automatically be of the same type as the Network Variable it is connected to.
F1.4.3 It shall be possible to move a SAIDA Variable within the hierarchy.
F1.5 It shall be possible to set the attributes of a SAIDA Variable.
F1.5.1 It shall be possible to set the value of a SAIDA Variable.
F1.5.1.1 Setting the value of a SAIDA Variable will set the value of the Network Variable it is connected to.
F1.5.2 It shall be possible to set the name of a SAIDA Variable.
F1.5.3 It shall be possible to set the log-attributes of a SAIDA Variable to control how and when logging shall be performed.
F1.5.3.1 It shall be possible to enable/disable logging of a SAIDA Variable.
F1.5.3.2 It shall be possible to choose between on-change or periodic logging of SAIDA Variable.
F1.5.3.3 It shall be possible to limit the size of a SAIDA Log by specifying a maximum number of values to store in a log.
F1.5.3.4 It shall be possible to limit the size of a SAIDA Log by specifying a time limit of how long logged values should be stored in a log before removing them.
F1.5.4 It shall be possible to set a special string of a SAIDA Variable which can be used to store arbitrary information.
F1.5.5 It shall be possible to bind a SAIDA Variable to a Network Variable (see [3.1.5] and [F1.4.2.1]).
F1.6 It shall be possible to get the attributes of a SAIDA Variable.
F1.6.1 It shall be possible to get the current value of a SAIDA Variable.
F1.6.1.1 Getting the current value of a SAIDA Variable will get the value of the Network Variable it is connected to.
F1.6.2 It shall be possible to get logged values of a SAIDA Variable.
F1.6.2.1 It shall be possible to get the value and the time stamp of a SAIDA Variable at a specified index in a SAIDA Log.
F1.6.2.2 It shall be possible to get the value and index that a SAIDA Variable had at a specified time.
F1.6.2.3 It shall be possible to remove all logged values of a SAIDA Variable.
F1.6.3 It shall be possible to get the name of a SAIDA Variable.
F1.6.4 It shall be possible to get the type of a SAIDA Variable.
F1.6.5 It shall be possible to get the log-attributes of a SAIDA Variable.
F1.6.5.1 It shall be possible to get the current size of a SAIDA Log.
F1.6.5.2 It shall be possible to get the "enable/disable logging" attribute of a SAIDA Variable.
F1.6.5.3 It shall be possible to get the type of logging (on-change or periodic) of SAIDA Variables.
F1.6.5.4 It shall be possible to get the log size limits of SAIDA Variable (see [F1.5.3.3] and [F1.5.3.4]).
F1.6.6 It shall be possible to get a special string of a SAIDA Variable which can be used to store arbitrary information.
F1.6.7 It shall be possible to get the binding of a SAIDA Variable to a Network Variable (see [3.1.5]).
F2.1 It shall be possible to create a SAIDA Alarm.
F2.2 It shall be possible to remove a SAIDA Alarm.
F2.3 A SAIDA Alarm shall have a number of attributes.
F2.3.1 A SAIDA Alarm shall have a name.
F2.3.2 Each saida Alarm shall have a condition and an action attribute.
A2.3.2.1 A SAIDA Alarm condition shall be a logic expression composed of multiple SAIDA Variables.
A2.3.2.2 A SAIDA Alarm action shall be executed as soon as the condition has been met.
F2.3.3 A SAIDA Alarm shall have a state attribute representing if the alarm is enabled/disabled.
F2.4 It shall be possible to set the attributes of SAIDA Alarms.
F2.4.1 It shall be possible to enable/disable a SAIDA Alarm.
F2.4.2 It shall be possible to set the condition of a SAIDA Alarm.
F2.4.3 It shall be possible to set the action of a SAIDA Alarm.
F2.4.4 It shall be possible to set the name of a SAIDA Alarm.
F2.5 It shall be possible to get the attributes of SAIDA Alarms.
F2.5.1 It shall be possible to get the state attribute SAIDA Alarm (enabled/disabled).
F2.5.2 It shall be possible to get the condition of a SAIDA Alarm.
F2.5.3 It shall be possible to get the action of a SAIDA Alarm.
F2.5.4 It shall be possible to get the name of a SAIDA Alarm.
A3.1 A SAIDA Log shall be able to store a number of SAIDA Variable values.
A3.2 The Data Server shall be able to handle a number of SAIDA Logs.
A3.3 The Data Server shall be able to handle logging of multiple SAIDA Variables simultaneously.
F3.4 The Data Server shall be able to log SAIDA Variables periodically.
A3.4.1 The Data Server shall be able to handle periodic logging of SAIDA Variables at a high rate.
F3.5 The Data Server shall be able to log SAIDA Variables "on-change".
A3.5.1 The Data Server shall be able to handle "on-change" logging of SAIDA Variables which fluctuate at high rates.
F3.6 Each logged value shall have a time stamp representing the time the value was logged at.
A4.1 The Data Server shall be highly reliable.
F4.1.1 Data (SAIDA Variables, SAIDA Groups, SAIDA Alarms and SAIDA Logs) currently stored by the Data Server shall not be lost if the Data Server crashes. Request currently being processed will be cancelled.
A4.1.2 The Data Server shall be able to handle many requests from client applications concurrently.
A5 The Data Server shall respond quickly to client application requests.
Attribute No | Scale | Worst case | Planned |
---|---|---|---|
A1.2 | Number of possible levels in the hierarchy. | 4 | 112 |
A1.3.4 | Total number of possible groups in the hierarchy. | 10 | 1014 |
A1.3.5 | Number of possible groups in another group. | 5 | 99 |
A1.3.6 | Number of possible number of variables in a single group. | 10 | 32768 |
A2 | Number of possible alarms in the Data Server. | 10 | 165 |
A2.3.2.1 | Number of possible variables in an alarm condition. | 1 | 12 |
A2.3.2.2 | The delay between the occasion of the change of the variable which triggers the alarm, and the actual execution of the alarm action. | 10 s | 1 s |
A3.1 | Number of possible variable values stored in a single log. | 10 | 2001 |
A3.2 | Number of possible logs managed by the Data Server. | 10 | 10000 |
A3.3 | Number of possible active logs managed by the Data Server. | 10 | 987 |
A3.4.1 | The maximum possible rate at which a variable is polled. | 0.1 Hz | 10 Hz |
A3.5.1 | The maximum possible rate at which a variable may fluctuate and still have every assumed value logged by the Data Server. | 0.1 Hz | 10 Hz |
A4 | Percentage of time which the Data Server is available for client requests over a 48 hour period. | 80% | 99% |
A4.1.2 | Maximum number of simultaneous access which can be handled by the Data Server before losing any request. | 1 | 10 |
A5 | Largest possible delay between a client request and the response from the Data Server. | 5 s | 1 s |