# A Method for Enterprise Architecture Model Slicing
## 5 Evaluation
### Settings  
Our case study is an insurance enterprise that maintains a digital EAR and needs to develop a new roadmap artifact. The existing EAR has been used to capture and connect the context and information across domains (e.g., business, information, solution, and technology) to support strategic and tactical decision-making. We employ the official repository [31] hosted by The Open Group [32]. In this case, the repository [33] is modeled with the ArchiMate modeling language [11] and stored with ArchiMate Model Exchange File Format [34]. We suppose a new **roadmap** artifact is required because the management wants a coherent and straightforward picture representing the overall strategic planning. A roadmap artifact is usually defined as \"_structured graphical views of all planned IT initiatives in specific business areas having direct business value_,\" serving to \"_achieve clearer traceability between the business strategy and future IT investments_\" [3]. Therefore, we need to find out existing components and relations that are relevant to this view. Our proposed EAS method will be used to extract relevant components in the repository and lower the cost of new artifact development through reuse.  
To reuse existing model data to develop the new roadmap artifact, we conducted several slicing **tasks** to get relevant components concerning several strategic components. Due to the space limitation, we demonstrate the process of using our proposed EAS method for one of the tasks. The task is to find all existing components/IT initiatives that directly or indirectly support one of the planned _Business Output_, namely, _Detailed Insights in Customer_ in the view of _Business Strategy_.  
Here four **requirements** for the slicing are implicitly given: (1) \"support\" indicates that a relation with a meaning of \"support\" (e.g., _Realization_ and _Serving_) connects some component to others; (2) \"directly support\" means such relation directly connects one component and the other, while \"indirectly support\" happens when more than one such relation connects or other relations (e.g., _Aggregation_) are involved additionally; (3) the resulting components should be at a high level and cannot contain more details than that of general IT initiatives; (4) as a general non-functional requirement, the model data should be of acceptably high quality, which means that the data should be at least reasonable to humans and consistent with other data in the repository.  
Note that although these requirements look clear and comprehensive enough for a human, they are still somewhat vague to be formalized in programs. Take the first requirement, for instance, we as humans understand the general meaning of \"support\".  
However, we could not determine the exact types of relations to apply in a particular repository due to various metamodels that can be applied in the EA fields. Other examples include what defines an \"indirect\" relation in the second requirement, what components are sufficiently \"high-level\" in the third requirement, and what kind of data inconsistency issues are unacceptable in the fourth requirement. They are all the \"undefined\" or \"vague\" part of the requirements. Such flexible requirements are the primary reason we adopt a hybrid method to combine automatic searching and manual screening.  
We used existing **tools** for our demonstration and concept-proof validation. We used Archi 4.8.1 [35], an open-source ArchiMate modeling tool, for reviewing the EAR in a visualized way (Step 1). An Extensible Markup Language (XML) viewer is also used in Step 1 to help us examine the repository serialized in the exchange file format. We employed an Integrated Development Environment (IDE) to implement the criteria/algorithm and run the automatic searching (Step 3) in Python 3.8. We used a text editor to record the recursive slicing process and all intermediate results (Step 4). At last, we used Archi [35] to present the integrated results of the slice (Step 5) to develop the new artifact based on it.