Dynamics | ||
Requirements specification | $Revision: 1.3 $ | State approved |
Date 02-Nov-1998 | Author Tom Weckström | |
Review date 04-Nov-1998 | Reviewed by Jouni Malinen | |
Approval date 04-Nov-1998 | Approved by Jouni Malinen |
$Id: req_spec.html,v 1.3 1998/11/04 18:50:10 jkmaline Exp $
The Dynamic IP-tunnel project will be carried out at the HUT course Tik-76.115, Software project during the academic year 1998-1999.
In the Dynamic IP-tunnel project (from this on called "project" in this document) a group of software components (from this on "the software") is developed to enable mobile users using personal computers with IPv4-protocol to access the Internet via IP-protocol tunneling system.
The software to be developed in the project shall be used in the MART-project represented by Jari T. Malinen. The software may also be used in other projects.
The goal of the system is to make it easier to move with a computer attached to IPv4-network, provide a scalable solution for IP-tunneling, reduce the tunneling system administration effort from that of maintaining the tunnels manually, provide analysis possibilities for administrators and configurability to both users and administrators.
Project manager Tom Weckström is responsible for the consistency of this document with the current situation in the project.
For a more general insight into the project, please refer to the Project plan document.
In this document the requirements are classified according to
Sommerville's
ideas of requirements classes [SOMM96]. They are prioritized using a scale
from 1 to 5. Table 1 defines the priorities. The verbs describing the need
of a requirement are defined as shall, should and may
according
to the descending priority level.
Priority | Explanation |
|
A mandatory requirement. |
|
A strongly recommended important requirement. |
|
A relatively important requirement. |
|
A fairly unimportant requirement. |
|
An extra requirement that would be nice to have. |
The tunneling environment will consist of mainly the elements described
in [RFC2002]. In addition to mobile node, foreign node (also known as access
point) and home node, there may also be an element called intermediate
node that acts as a combining entity between the elements of a hierarchical
tunnel. A general view of the tunneling system is shown in figure 1.
The users willing to utilize the software should have the Linux operating
system installed on their computer.
The intended users of the software are:
Requirement: The system shall update only those elements that
need to be updated.
Description: The entire tunnel must not be broken and re-established
because of the software when the mobile node moves from one access
point to another in the foreign network inside the same subnetwork.
Priority: 1
Requirement: The length of the tunnel shall not be explicitly
restricted by the system architecture.
Description: The number of elements of which the tunnel is constructed
is not restricted by any definitions of the system. The system will be
able to handle tunnels of finite length.
Priority: 1
Requirement: The tunnel configuration information updates
shall be dynamic.
Description: The tunnel parameters in the home network, mobile
computer and tunnel elements must be automatically updated as the mobile
computer moves.
Priority: 1
Requirement: Further development and inter operability shall
be supported.
Description: The inter operability of different software versions
in the same tunneling environment shall be possible. The elements of the
system should be capable of recognizing which version can be used.
Priority: 1
Requirement: The functionality should be transparent to the
mobile user.
Description: The mobile user should not need to configure anything
as he detaches from one lowest foreign agent and attaches to another. The
restrictions
caused by other than IP-protocol are outside the scope of the project.
Priority: 2
Requirement: The lowest foreign agents should use
broadcasting to advertise availability.
Description: The lowest foreign agents in the foreign network
should broadcast information about its availability for mobile
users.
Priority: 2
Requirement: The mobile node shall select the lowest
foreign agent.
Description: Based on the information about available access
points, the mobile node shall decide, which lowest foreign agent it
will use. No additional guidance from the network shall be needed.
Priority: 2
Requirement: The home elements shall handle several concurrent
users.
Description: The elements of the home network shall support
several concurrent mobile users. The number of concurrent mobile users
allowed by the home node shall be at least 255.
Priority: 2
Requirement: Mobility management information updates shall
be secure.
Description: The mobile node shall authenticate itself with
the home network part of the software. Only the right mobile node shall
be able to change the mobility management information.
Priority: 3
Requirement: The system should support logging.
Description: Administrators should be able to monitor the tunnel
configuration. The software should keep log of the mobile nodes. The
logged parameters are not defined yet.
Priority: 3
Requirement: Resource allocation should be optimized.
Description: The system should be able to drop the connections
that fulfill certain criteria. E.g. The node in the home network should
be able to drop the connection if no packets are delivered to or from the
mobile node in a specified time.
Priority: 3
Requirement: There may be multiple modes for tunneling.
Description: Support for optimal encapsulation may be implemented.
In different modes the decapsulation may be done in different parts of
the tunneling system.
Priority: 5
Requirement: The software shall have an installation mechanism.
Description: The system should be easily installable in a sense
that the installation is relatively short in duration, the system has clear
installation documentation and the installation follows the common installation
conventions of the operating environment. In this context "installation
mechanism" does not mean automatic installation.
Priority: 2
Requirement: The mobility management security design should
be modular.
Description: It should be possible to provide another way of
secure mobility management. This can be done by adding e.g. a new module.
The change should be possible without changing the code considerably.
Priority: 3
Requirement: Each piece of the software should be configurable.
Description: The software elements should provide a way to configure
all the static user information that is crucial from the mobility management
point of view.
Priority: 3
Requirement: There should be monitoring tools for the software.
Description: It should be possible to monitor the system behavior.
Priority: 3
Requirement: There should be a programming API for the software.
Description: There should be a useful administrative API giving
interfaces to system monitoring.
Priority: 3
Requirement: The IP-protocol version shall be 4.
Description: IPv4 must be used since it's widely used and the
current standard.
Priority: 1
Requirement: The platform should be Linux.
Description: The platform for the software should be Linux.
The use of any specific version
is not required, however.
Priority: 2
Requirement: The portability should be taken into account.
Description: The software should be implemented so that it is
portable with tolerable effort, apart from operating system specific parts.
Priority: 4
Requirement types:
F Functional
E External
T Team requirement
The quality objectives and their criteria, meters:
|
|
|
Meter | Criteria |
F | Tunneling shall be hierarchical. | 3 | Goal achieved? | Goal achieved. |
F | The system shall update only those elements that need to be updated. | 4 | Goal achieved? | Goal achieved. |
F | The length of the tunnel shall not be explicitly restricted by the system architecture. | 6 | Goal achieved? | Goal achieved.. |
F | The tunnel configuration information updates shall be dynamic. | 5 | Goal achieved? | Goal achieved.. |
F | Further development and inter operability shall be supported. | 2 | Modularity of design. | Features can be enhanced by replacing a module. |
E | The IP-protocol version shall be 4. | 10 | Is the version 4? | Version is 4. |
E | The mobility of the mobile node shall be transparent to an external observer. | 7 | What's the impact of movement to external observer. | Observer won't notice anything. |
T | The end product shall be good enough for further development. | 1 | Clear and complete documentation.
Will the project actually be used? |
All design and architechture issues are documented.
Project can be used in later projects. |
T | The scheduling shall be proactive. | 11 | Were the documents ready in advance? | 75% of documents are ready in advance |
T | Important documents and the code shall be reviewed. | 8 | Percentage of documents reviewed. | 100% of important docs & code are reviewed. |
T | CVS version control shall be used. All the deliverables shall be versioned. | 9 | Used/not used? | CVS is used. |
[SOMM96] | Sommerville, Ian, Software Engineering, 5th Edition,
Addison-Wesley 1996,
ISBN 0-201-42765-6. |
[RFC2002] | Perkins, C., IP Mobility Support, IBM, October
1996
<URL: ftp://ftp.funet.fi/pub/standards/RFC/rfc2002.txt > |
MART-project WWW-pages.
<URL: http://www.cs.hut.fi/~mart/ > |
|
Kontio, Jyrki, Tik-76.601 Requirements management lecture slides,
1998.
<URL: http://www.cs.hut.fi/opinnot/tik76601/Tik-76601_reqmgmt_2pp.PDF > |