Ontology-based multi-site software development methodology and tools
The disadvantages associated with remote communication rather than face-to-face communication is a key problem in the multi-site distributed software development environment. Awareness of what work has been done, what task has been misunderstood, what problems have been raised, what issues have been clarified, and understanding of why a team or a software engineer does not follow the project plan, and how to carry out a discussion over a multi-site distributed environment and to make a just-in-time decision are the challenge. Different teams might not be aware of what tasks are being carried out by others, potentially leading to problems such as two groups overlapping in some work or other work not being performed due to misinterpretation of the task. Wrong tasks may be carried out due to ignorance of who to contact to get the proper details. If everyone working on a certain project is located in the same area, then situational awareness is relatively straightforward but the overheads in communications to get together to discuss the problems, to raise issues, to make decisions and to find answers in a multi-site distributed environment can become very large. Consequently, these problems cause project delay and anxiety among teams and managers. Ontologies coupled with a multi-agents system allow greater ease of communication by aggregating the agreed knowledge about the project, the domain knowledge, the concepts of software engineering into a shared information resource platform and allow them to be shared among the distributed teams across the sites and enable the intelligent agents to use the ontology to carry out initial communication and classification with developers when the problem is raised in the first instance. In this paper, we present the key challenges in multi-site software engineering and the ontology representation of commonly shared conceptualisations in software development. We demonstrate the agent communication with developers in the form of manmachine interactions and the great potential of such a system to be used in the future for software engineering in multi-site environments.
multi-site software development ontology development software engineering ontology agent-based system