Due to the globalization of software development and for a number of business reasons, software companies have adopted the global software development approach that enables project team members to work across multiple sites. While on the one hand, a globally dispersed project offers several advantages, on the other hand, it creates additional challenges in regard to communication, coordination and information sharing. In order to address such challenges, in the literature, the software engineering ontology (SE Ontology) has been developed to provide a common understanding of software engineering domain knowledge and share software project information among dispersed team members. However, the nature of the software engineering ontology is still passive as is the nature of many existing ontologies. Passive means that users of the ontology need the competence to access and translate what they are looking for into the concepts and relations defined in it; otherwise, they may not be able to receive precise knowledge and project information. The purpose of this research is to develop a methodology to provide active support to access and recommend knowledge and project information in the software engineering ontology. Two main key technologies, i.e., agent-based system and recommendation techniques are exploited in this research. Intelligent agents can cope with the distribution and interoperability of a global software development environment and when they are integrated with recommendation approaches, they can offer automated suggestions to actively support software team members. This aims at providing the most relevant and precise situational knowledge and will lead to improving the effectiveness of communication and coordination of long-distance collaborative work.
Note:
1. This work will emphasize on utilizing Software Engineering Ontology and Multi-agent to provide active support in communication and coordination, accessing and recommending useful software project information to distributed software team members for all SDLC phases (Requirement analysis, Design, Implementation, Testing, Maintenance)
2. Main agent's properties will be used in this research:
· Autonomy: agents operate without the direct intervention of humans or others, and have some kind of control over their actions and internal state
· Social ability: agents interact with other agents via some kind of agent communication language
· Reactivity: agents perceive their environment and respond in a timely fashion to changes that occur in it
· Pro-activeness: agents do not simply act in response to their environment; they are able to exhibit goal-directed behavior by taking the initiative
· Mobility: is the ability of an agent to move around an electronic network
Objectives
1. Develop a multi-agent based recommender system architecture for multi-site software development to support collaborative behavior around the software engineering ontology.
2. Develop a framework that enables collaborative agents to provide intelligent support for communication and coordination of a distributed software development team.
3. Develop recommendation techniques enabling semantic interoperability to manage project issues, suggest solutions and provide expertise to address issues that are raised.
4. Develop an information platform that provides technological opportunities to integrate multi-agent and recommendation systems as well as to supply a centralized user interface.