Requirements Specification Data Server

Revision C - 3 MAY 1996

 NamePositionE-mail address
Author(s):Martin Fredriksson
Linus Girdland
Team Member
Team Member
pt93mf@pt.hk-r.se
pt93lg@pt.hk-r.se
Responsible:Magnus ThuressonSAGA Team Managerpt93mth@pt.hk-r.se
To:SAIDASAIDA Teamsaida@pt.hk-r.se
Cc:Peter MolinHead of Departmentpeter.molin@ide.hk-r.se

Abstract

This document contains the Requirements Specification for the Data Server.

Microsoft, Windows, Visual Basic and OLE are trademarks of Microsoft Corporation in the USA and other countries.

1 Introduction

1.1 Purpose

The Data Server is the central component that most interfaces communicate with, including the Remote Data Navigator, the Mail Command Interpreter and the WWW interface.

The scope of this Requirements Specification is the Data Server which resides on the CCN.

1.2 Testing

All requirements will be tested according to [SAIDA 96-1].

2 General Description

2.1 Product Functionality

Every SAIDA Variable handled by the Data Server has (among other attributes) a name, type and access functions for getting/setting it's current value. There is also functionality in the Data Server to log SAIDA Variables (SAIDA Logs) and execute actions when a SAIDA Alarm's condition has been met.

2.2 User Characteristics

The Data Server will be used by most of the other parts of the SAIDA system since it handles the processing of such an important part of the overall system, the SAIDA Variables. The Data Server will not be used directly by human users; they will only access it indirectly via other parts/interfaces of the SAIDA system.

2.3 General Constraints

The Data Server's type system should build on existing standards, possibly extended to allow the types required for the SAIDA Logs [F3].

3 Requirements

3.1 System Requirements

3.1.1 SAIDA Variable Hierarchy

F1 The Data Server shall be able to manage SAIDA Variables in a hierarchy.

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]).

3.1.2 SAIDA Alarms

A2 The Data Server shall be able to manage a number of SAIDA Alarms.

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.

3.1.3 SAIDA Logs

F3 The Data Server shall be able to handle logging and storing of SAIDA Variable values (SAIDA Logs).

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.

3.1.4 General

A4 The Data Server shall be highly available.

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.

3.1.5 Network Variables

F6 The Data Server shall provide functionality for browsing through Network Variables according to how they are internally structured in LCA pre-release 3.

4
Attributes specifications
Attribute NoScaleWorst casePlanned
A1.2Number of possible levels in the hierarchy.4112
A1.3.4Total number of possible groups in the hierarchy.101014
A1.3.5Number of possible groups in another group.599
A1.3.6Number of possible number of variables in a single group.1032768
A2Number of possible alarms in the Data Server.10165
A2.3.2.1Number of possible variables in an alarm condition.112
A2.3.2.2The delay between the occasion of the change of the variable which triggers the alarm, and the actual execution of the alarm action.10 s1 s
A3.1Number of possible variable values stored in a single log.102001
A3.2Number of possible logs managed by the Data Server.1010000
A3.3Number of possible active logs managed by the Data Server.10987
A3.4.1The maximum possible rate at which a variable is polled.0.1 Hz10 Hz
A3.5.1The maximum possible rate at which a variable may fluctuate and still have every assumed value logged by the Data Server.0.1 Hz10 Hz
A4Percentage of time which the Data Server is available for client requests over a 48 hour period.80%99%
A4.1.2Maximum number of simultaneous access which can be handled by the Data Server before losing any request.110
A5Largest possible delay between a client request and the response from the Data Server.5 s1 s
Attribute Table

5 Appendix A

5.1 Terminology

5.1.1 LAN - Local Area Network

The LAN consists of nodes, connected in a network, which in this project is the Lonworks architecture with Neuron chips.

5.1.2 CCN - Concentrator Communication Node

The CCN connects the LAN to the rest of the world. Service applications (i.e. client applications from the Data Server's point of view) run in the CCN and provides functionality for e.g. collecting data.

5.1.3 SAIDA Group

A SAIDA Group is a collection of SAIDA Variable and/or other SAIDA Groups.

5.1.4 Hierarchy

The hierarchy is tree built of SAIDA Groups and SAIDA Variables.

5.1.5 LCA - LonWorks Component Architecture.

Echelon's product and standard for how to handle Neuron nodes.

5.1.6 Data Server

The Data Server is the central component in the CCN. It handles all SAIDA Variable processing (storage, retrieval, logging and alarming) and exports this functionality to client applications through its interface.

5.1.7 SAIDA Variable

A SAIDA Variable is an object containing various attributes, such as; name, type, Network Variable bindings etc. The SAIDA Variable provides a link to the values of Network Variables in physical nodes connected to the CCN.

5.1.8 SAIDA Alarm

An SAIDA Alarm is an object containing various attributes, such as; condition, action etc. The SAIDA Alarm is basically an action to be executed when a certain condition is fulfilled.

5.1.9 SAIDA Alarm Action

When an SAIDA Alarm condition becomes true, the SAIDA Alarm Action is triggered. This action could be e.g sending an e-mail.

5.1.10 SAIDA Log

A SAIDA Log are values of a SAIDA Variable stored at certain points in time.

5.1.11 Network Variable

A Network Variable is a value stored in a physical node connected to the CCN.

5.1.12 Node

A node is a chip which monitors and controls a domestic appliance. It communicates with the CCN and other nodes via the LAN.

6 Appendix B

6.1 References

[SAIDA 96-1], SAIDA, "Unit Test Specification Data Server" - Rev. A - University of Karlskrona/Ronneby, 1996.


Requirements Specification Data Server
Abstract
1 - Introduction
1.1 - Purpose
1.2 - Testing
2 - General Description
2.1 - Product Functionality
2.2 - User Characteristics
2.3 - General Constraints
3 - Requirements
3.1 - System Requirements
3.1.1 - SAIDA Variable Hierarchy
3.1.2 - SAIDA Alarms
3.1.3 - SAIDA Logs
3.1.4 - General
3.1.5 - Network Variables
4 - Attribute Table
5 - Appendix A
5.1 - Terminology
5.1.1 - LAN - Local Area Network
5.1.2 - CCN - Concentrator Communication Node
5.1.3 - SAIDA Group
5.1.4 - Hierarchy
5.1.5 - LCA - LonWorks Component Architecture.
5.1.6 - Data Server
5.1.7 - SAIDA Variable
5.1.8 - SAIDA Alarm
5.1.9 - SAIDA Alarm Action
5.1.10 - SAIDA Log
5.1.11 - Network Variable
5.1.12 - Node
6 - Appendix B
6.1 - References

Info Team WebCam Documents Schedule CustomerOnly
© 1996, The SAIDA Project