## 4 Design of the Platform
### Design of Functional Components  
To derive functional components effectively, we first constructed a use case model that captures the platform functionality by applying the commonality and variability analysis on a set of representative family applications, including the Liver Imaging Reporting and Data System (LI-RADS), Lung Imaging Reporting and Data System (LUNG-RADS), Breast Imaging Reporting and Data System (BI-RADS) [34] and Prostate Imaging Reporting and Data System (PI-RADS) [35]. For this use case diagram, we derived 12 functional components by clustering related use cases into a component. A key feature of any software platform is its capability to enable effective customization of platform functionality. For this reason, these functional components were analyzed for their potential variability. Functional components with variability are placed in the plugin control layer, and components with no variability are placed in the core control layer, as shown in Figure 3.  
Among the identified components, the six components in the plugin control layer were determined to have intrinsic variability. The design of functional components with variability can effectively be completed by applying the commonality and variability analysis. The result of applying variability modeling to these components is summarized in Table 2.  
Figure 2: Applying microkernel architecture for extensibility. The variability analysis becomes the basis for deriving design schemes to effectively customize the variability, such as defining required interfaces for 'open'-scoped variation points. For example, the _Tumor Segmentation Manager_ for a specific organ can be defined with a required interface, which can bind different implementations of CNN segmentation, as shown in Figure 4. \begin{table}
\begin{tabular}{c c c c c} \hline \hline
**Functional** & **Variability** & **Variation Points** & **Variant** & **Set of** \\
**Components** & **Type** & **Varying** & **Scope** & **Variants** \\ \cline{2-5}  & Attribute & Organ & Selection & Organ of Interest \\ \cline{2-5}  & \multirow{2}{*}{ML Model} & \multirow{2}{*}{CNN Segmentation Model} & \multirow{2}{*}{Open} & U-Net, V-Net, RCNN, \\  & & & FCNN, SegNet, etc. \\ \cline{2-5}  & & & & \\ \cline{2-5}  & Attribute & Set of Target Lesions & Selection & Types of Lesions \\ \cline{2-5}  & \multirow{2}{*}{ML Model} & \multirow{2}{*}{CNN Segmentation Model} & \multirow{2}{*}{Open} & U-Net, V-Net, RCNN, \\  & & & & \\ \cline{2-5}  & & & & \\ \cline{2-5}  & \multirow{2}{*}{ML Model} & \multirow{2}{*}{CNN Segmentation Model} & \multirow{2}{*}{Open} & U-Net, V-Net, RCNN, \\  & & & & \\ \cline{2-5}  & & & & \\ \cline{2-5}  & \multirow{2}{*}{ML Model} & \multirow{2}{*}{CNN Segmentation Model} & \multirow{2}{*}{Open} & U-Net, V-Net, RCNN, \\  & & & & \\ \cline{2-5}  & & & & \\ \cline{2-5}  & \multirow{2}{*}{ML Model} & \multirow{2}{*}{RNN Classification Model} & \multirow{2}{*}{Open} & Basic RNN, LSTM, GRN, \\  & & & & Convolutional LSTM, etc. \\ \hline \multirow{3}{*}{Medical Feature Analyzer} & Attribute & Set of Medical Feature Types & \multirow{2}{*}{Open} & Types of Medical Features \\ \cline{2-5}  & & & & for Target Disease \\ \cline{2-5}  & \multirow{2}{*}{ML Model} & \multirow{2}{*}{Set of ML Models} & \multirow{2}{*}{Open} & ML Models for Analyzing \\ \cline{2-5}  & & & & Target Medical Features \\ \hline Disease Type & \multirow{2}{*}{Logic} & Algorithm for & \multirow{2}{*}{Open} & Algorithm for Classifying \\ Classifier & & Disease Classification & & Occurrences of Target Disease \\ \hline Disease Stage & \multirow{2}{*}{Logic} & Algorithm for & \multirow{2}{*}{Open} & Algorithm for Classifying \\ Classifier & & Stage Classification & & Stage of Disease Occurrence \\ \hline \hline \end{tabular}
\end{table} 
Table 2: Variability analysis of the functional components. Figure 4: Defining the required interface for plugin components. Figure 3: Functional components in each control layer.