In DIDO, the following areas minimally cover Functional Requirements:
The goal of hardware functional requirements is to decide which hardware architectures are going to be supported and which, if any, will be left out.
Nodes on the distributed network must be designed specifically for the operating system that runs on the node. So the distributed system must support more than one operating system. But too many OSs can cause the support and maintenance of the system to be more difficult and costly.
A distributed system is a collection of networked nodes, that run on networking equipment all connected using wireless or USB connections. Network functional requirements is to decide which platform, devices, and permissions are used throughout the system.
RunTime functional requirements is to establish a RunTime Library that can communicate to with different operating/hardware platforms across the system.
Tool functional requirements include making sure your system has all the necessary development, management, and operation tools for the project.
Note: The tool list provided is not exhaustive.
Utilizing Virtual Nodes in a distributed system can provide flexibility because a virtual node can run on many hardware/operating system platforms. Virtual Node functional requirements entail determining which type of virtual node is necessary for the system.
Every node based on its roles, manages and controls data. The data within the node is classified as either: ledger data, ancillary data, or external data. Regardless of the clas of data sotred on a node, it is often controlled by regulatons, Policies and Procedures.