# Ontology-Based Methodology for Knowledge Acquisition from Groupware
## 3 Design
### Knowledge Hub  
The framework that is described in this paper is ontology-based as all the output is stored in the form of an ontology in the Knowledge Hub. This makes the Knowledge Hub a key component of the framework. Given that the demonstration for this study is centered on groupware raw data from a virtual software development team, an ontology was created to accommodate the concepts and sub-concepts in this domain as there is little literature on the subject. This hub was built using Protege, a renowned ontological engineering tool [55], with the five top-level ontologies being: Softwaretype, projecttools Commonprojectissues, Projectssuesolution, and WagileElement serving as the foundation. Top-level ontologies such as CommonProjectIssues, ProjectIssueSolution, and Projecttools were chosen because they represent the core process areas in the software engineering process [56]. WagileElement was built on the footing of the rational unified process framework [57], waterfall, and agile process models [58]. The Softwaretype was added as a top-level ontology by the experts during the confirmation and acquisition of more knowledge. The Knowledge Hub's internal structure is depicted in Figure 8.  
From Figure 8, SoftwareType, as the names suggests, is created to validate and store (if new) all the software types harvested from the groupware. ProjectTools, as a top-level ontology, is designed to verify and place all the tools and platforms that are used by the virtual software development team that are acquired from the groupware discussion. CommonProjectIssues is adopted as a top-level ontology to identify and store all the common project issues that are harvested from the groupware. ProjectIssueSolutions, as a top-level ontology, is designed to validate and place all the solutions to the identified issues in the virtual software development team groupware discussions, while WagileElement is designed to validate and store the disciplines, artifacts, tasks, and roles that are identified in the discussions of the virtual software development team. Within the context of this paper, WagileElement is regarded as the element of the hybrid software development process denoting the combination of both waterfall and agile methodologies. These elements  
Figure 8: Internal structure of the knowledge hub. were used in the development of the Knowledge Hub to effectively define the relationships among the discipline, artifacts, tasks, and roles within the team. The discipline concept is linked to the fundamental key knowledge areas in the software development environment (Table 2). The WagileElement enables us to aggregate all areas and roles that are needed for this study. It underscores discipline with respect to its main components, which place emphasis on roles (the performer of the actions that produce input/output artifacts), tasks (how the actions are performed), and artifacts (what the actions produce). The role characterizes the behaviour, attitude, and duties of an individual or group of people working as a team. It stipulates the overall description of actions and artifacts that the role is responsible for. A task is the step-by-step activities for a piece of work that are performed as a result of the role. It describes the role that is accountable for the action and the artifacts that are required as input as well as the corresponding output. An artifact is generally regarded as a document, element, or model that is produced or utilized by the process, and it also records the role that is responsible for the artifact, as well as some other elements such as guidelines, templates, whitepapers, reports, and legacy tools that supplement the discipline components that were mentioned earlier. In terms of operability within the framework, each of these top-level ontologies already consists of concepts with a label, attributes and values, and relations in/out. Therefore, a new concept from the AH is checked at the KH to determine if it already exists or not. If it does not, it is then identified as new knowledge.