As stated in system architecture section, OpenNaaS supports different types of resources, and it can be extended to support other ones.A resource is the representation of a device in the software, and it is associated to a set of features which are represented as capability components. Capabilities are designed per resource type and are loaded for a particular resource if the ResourceDescriptor says to. However, most capabilities require a driver to interact with a real device and perform their actions. Hence, there is a relationship between resource types, capabilities and drivers which determines what kind of operations can be done with OpenNaaS to which specific network devices.

This relationship is illustrated in the compatibility matrix

Information describing current state of a resource is stored in the resource model. Capabilities store relevant information in the model and they are also responsible of populating it using the appropriate functions in their driver. Although capabilities can expose methods to retrieve data about the resource, currently most of them does not so, relying in the user for querying the model directly.

  • No labels