The functional view of a system’s architecture defines the components that provide its functionality. The view describes the functional structure of the system, demonstrating how the system performs the required functions.
The functional structure of such view, as defined by Rozanski & Woods, typically contains functional elements, interfaces, connectors and external entities:
Functional Elements are well-defined components of the system that have particular functionalities and expose well-defined interfaces that allow them to be connected to other components. A functional component can be a software module, an application, a data collection, or even a sub-system.
Interfaces are specifications, defining how the functions of a component can be accessed by other components. An interface is defined by the inputs, outputs, the provided operation and the interaction needed for the operation.
External Entities are other systems, software programs, hardware devices, or any other entity the system interacts with. These are described as dependencies to other systems or components.
The following picture provides a holistic view on the functional module dependencies of the SMARTsurg platform. It is a preliminary version that will evolve further during the project based on the corresponding developments. This figure translates SMARTsurg conceptual architecture into software modules and dependencies. The directed dependencies between the modules are denoted by arrowed lines.
The SMARTsurg system consists of the following modules:
- Input Sensor Module
- Visual Data Processing Module
- Augmented/Virtual Reality Module
- Haptic Feedback Module
- Active Constraints Module
- Master Control Module
- Slave Control Module
- Teleoperation Module
- Protocol Extraction/Verification Module
- Data Display Manager
- HRI Module
- System Configuration Module