dana-i2cat/mqnaas — pull request #66 by adrian-rosello (2014-12-01 14:38:38+00:00)
Title: feature/slicing

This pull request introduces the concept of slicing into MqNaaS framework, described in following issues:

http://jira.i2cat.net/browse/CON-35
http://jira.i2cat.net/browse/CON-94

A slice can be seen as a n-dimensional space. Each dimension of the slice consists of SliceUnits, which represent a sliceable component of the physical resource. For example, in TSON resources, you can think in a 3D slice based on ports, vlans, and lambdas.)

Slices are implementations of the IResource class, and they are managed by the SliceAdministration capability. This capability manages and maintains the structure of a slice, by storing the original slice information and the current one.

The capability contains methods to:
- Initialize the state of the slice space.
- Check if another slice is contained in the one managed by the capability.
- Cut a subset space of the slice
- Add another slice (increment the space of the slice)
- Check the original slice cubes of the slice.
- Check the available slice cubes of the slice.

The code includes tests for all methods in different dimensions, and also efficiency tests (ignored)