Agent-based Tool To Support Collaborative KMS In ...

44 downloads 28387 Views 303KB Size Report
identify the workflow in the form of domain business best ... Helpdesk user. Maintainer. Fig. 1: Percentage of Automated Processes in SM tools ... This will free-up.
Agent-based Tool To Support Collaborative KMS In Software Maintenance Process Environment Mohd Zali Mohd Norα, Rusli Abdullahβ, Mohd Hassan Selamatβ and Masitah Ghazaliβ Faculty of Computer Science and Information Technology, University Putra Malaysia, Serdang, Malaysia α [email protected], β{rusli, hasan, masitah}@fsktm.upm.edu.my Abstract - Software maintenance (SM) environment is highly complex, knowledge-driven and collaborative. Therefore, knowledge management system (KMS) is critical to provide an environment for sharing and sustaining knowledge among members of SM community of practice (CoP). Several KM retrieval tools are compared to identify the areas that could be improved. One of the important but least available knowledge required by maintainers is the Domain Business knowledge and the relations to the application SM process knowledge. We propose a new tool based on Multi-Agent System (MAS) to address this issue and to assist CoP members to get the right knowledge at the right time. Keywords – Agent Technology, KMS, Software Maintenance

I. INTRODUCTION As an overview, software maintenance (SM) is defined as “The totality of activities required to provide costeffective support to software system. Activities are performed during the pre-delivery stage as well as the post-delivery stage” [12]. SM activities are complex, knowledge-intensive [22], and depend largely on expertise of the maintainers. Managing knowledge in this area is therefore critical to ensure that maintainers can perform SM activities properly and timely, by sharing and obtaining vital knowledge. However, there are several major problems which hamper effective knowledge sharing. It is still often heard complaints that the process from bug report to getting the corrected system is slow due to complexity and time taken collaborating to obtain information, sharing information, and internalizing information onto knowledge. There are various issues associated with the above knowledge, which makes organizing, storing, sharing and disseminating knowledge difficult. Among the problems are: • Domain knowledge are becoming more important to software maintainers but are seldom stored in KMS or other electronic means [24,30,31]. Often, maintainers have to rely on experts and also codes to understand the details [6,10,28]. Secondly, many tools are still not integrated to allow seamless knowledge combination, which hampers knowledge acquisition and sharing [31]. • SM, by itself, is complex and is a constantly changing process, with different phases, activities and projects. Organizations often have problems identifying resources and use of knowledge [21]. There is a direct correlation between the quality of

the software process and the quality of the software developed [11]. Therefore the motivation of this study is to provide tools for maintainers to perform their daily activities, by managing domain knowledge, application knowledge and SM process knowledge into a seamless, integrated system. It is envisaged that the following mechanisms shall support the above goal: • Domain knowledge are made available and traceable to software design and usage. • CoPs shall rely on system rather than people (experts) and raw source code. • The new tool shall promoting automation and integration of systems or tools to support maintenance processes. A. Agent Technology The agent-oriented approach is gaining acceptability in supporting maintainers in their daily activities [5,27, 22]. Intelligent software agent is a computer system capable of flexible autonomous action in some environments [29]. Being flexible means that the agent is reactive (maintains an ongoing interaction with its environment, and responds to changes), proactive (taking initiatives) and social (interact with other agents) [29]. Hence, a MAS is a system consisting of a number of agents, which interact with each others. There are several methodologies to describe the agent-oriented approaches; among them are MESSAGE[9], MaSE[7], Tropos[4] and Prometheus [19]. Among these, MaSE and Prometheus are supported by modeling tools, which offer diagram drawing, model consistency checking and code generator [5]. In this paper, we shall use Prometheus to design the agent architecture. The methodology has a good modeling tool and can be used to generate initial codes that can be used by Agent-oriented tools such as Jack Agent development tool [14]. This paper is structured as follows: section II discusses the related work on the similar tools and Section III reviews the methodology for the study. Then, section IV and V shall discuss the proposed new tool. II. RELATED WORK Agent technology in SM has been used in a few research prototypes such as the KM-Mantis [26]. KMMantis uses experience factory concept to capture and reuse knowledge and expertise generated during SM process. KM-Mantis has five software agents (product,

activity, client, user and staff) to support the 3 different communities (product, activities and people). Another MAS prototype is similar to KM-Mantis, but uses different agents to capture knowledge from different source documents and activities. Rodriguez et al. [21,22] developed a MAS architecture with 5 main agents. Staff agent provides supports to maintainers by monitoring maintainers activities, search for knowledge sources via KMA. The Product agent monitors the products and the activities performed on the product by maintainers. Likewise, Client agent assists client or user to send maintenance request to Product agent, and also informs user on the status of the request. Project agent monitors the project tasks and progress, and lastly, Directory agent manages the information on where about of active agents and information used by each agent. Intelligent agent structures the knowledge in form of ontology. In SM area, several researchers have developed ontologies on SM processes [16,2,8,23] which consists of the concepts, classified into the people, process, product and organization. The above works on SM ontology emphasize mostly on the SM activities. However, linkages to domain knowledge are not emphasized. This is where this study shall close the gap. III.

METHODOLOGY

Before presenting the new proposed tool, a review of workflow process, starting from user registering complaint to release of completed maintenance request (MR), are conducted. The source of this workflow review is from our survey on how selected SM organization conducted their SM activities, as well a detail study in a SM organization [30,31]. This exercise shall enable us to identify the workflow in the form of domain business best practices and state transition diagram, to be used to build the combined ontology linking domain knowledge to SM

process knowledge. The design of the ontology are in progress and shall be reported later. Several current tools were also reviewed and a feature analysis based on DESMET screening mode approach [17] is conducted, where evaluation of features are performed based on available documentation. This method allows us to see if the workflow features are catered for and to identify the functionality gaps that could be catered in the new proposed tools. For this purpose, the traditional SM tools (Helpdesk and SCM) and existing Multi-Agent system (MAS) prototypes are used for comparisons. Lastly, to propose a new MAS prototype to include the gaps identified earlier, a new MAS prototype shall be conceptualized using Prometheus design tool, to identify the types of agents and agent architecture. IV.

COMPARISON AND DIRECTION

Feature evaluation was conducted in three major SM areas (user, helpdesk and maintainer), based on the roles, purpose and knowledge activities). As an example, the Maintainer’s features are illustrated in Table 1. Based on the feature evaluation, many of the features within the workflow are already covered by the current tools, but some are yet to be automated. System-supported processes and manual processes are noted, which shall serve as the basis to identify the gap between tools (see Fig. 1). Although feature analysis using DESMET screening mode approach is less reliable, it is still useful in first stage evaluation to determine the new areas for automation. Based on the coverage of automation, current tools emphasize more on SM process knowledge and collaboration. Less emphasis was given to capturing, storing and sharing of domain knowledge, especially in user and maintainer environments.

TABLE 1: FEATURE EVALUATION MATRIX FOR MAINTAINERS

• •

Rodriquez et al. Helpdesk

K-Mantis (Vizcaino et al.)

user Maintainer



Traditional helpdesk/ SCM 0%

10%

20%

30%

40%

50%

60%



Fig. 1: Percentage of Automated Processes in SM tools

A. Why emphasize on Domain knowledge? Domain knowledge are the know-how on doing business. These knowledge could be explicitly represented by many “containers”, such as best practices, policies and procedures, and are naturally dynamic. Changes of standard working practices, changes to external environments and regulations and differences in locality and culture mean different best-practices. Maintaining knowledge on these changes are beneficial to maintainers in the following terms: • Changes could be translated to new system requirements which helps maintainers to anticipate and plan SM activities. • Domain knowledge are useful for new maintainers to learn the rope of the business, and for expert maintainers to avoid repeating mistakes and hence improve productivities. • Decrease dependency of super users and system/business analysts cognitions. This will free-up the above personnel for more important tasks. • Forms the basis for a reasonable testing plans. V. PROPOSED MULTI-AGENT SYSTEM Based on the envisaged gap identified earlier, we propose a MAS tool to support the various roles in their daily activities. This entails the following designs: • Framework architecture to represent the knowledge base, activities and collaborations between the Domain business community of practice (CoP) and SM CoP. • MAS specifications and architecture design, to identify agent types and their respective roles to support CoPs. • Considerations for a combined ontology to represent the different knowledge areas (business and SM process) and their linkages, to be used by the above MAS. Development of the ontology is in progress and shall be reported later. A. Framework Architecture The framework architecture of the proposed tool is depicted in Fig. 3. The overlapping regions represent the shared knowledge and activities between both CoPs. Domain knowledge and SM process knowledge share a common area which consists of the followings knowledge:



Domain business processes that uses the applications The related application module or functionalities used by business scenarios, and how each module is used. Two-way traceability between business domain knowledge and SM process knowledge; i.e., if an application module is amended, which business process will be affected, and vice-versa. Overlapping support tasks – the collaboration and knowledge of support tasks such as Helpdesk are common to both Business CoP and SM CoP. Similarly, implementation activity involves both CoPs.

Fig. 2: Framework Architecture for Domain and SM Knowledge Base

B. Multi-Agent System The proposed MAS shall serve as an intermediary tool that integrates SCM, Helpdesk and KMS applications. In a collaborative environment, software agents in MAS can be viewed as personal assistants and service agents [1]. To properly determine the agent types and their roles in managing Domain and SM knowledge, Prometheus methodology [19] is used, as follows: 1. Systems specification – identify goals, use case scenarios, functionalities, actions(outputs) and percepts (inputs). 2. Architectural design – determine agent types based on data coupling, agent acquaintance and interaction diagram. 3. Detailed design – refine the agent descriptions by defining and describing the capabilities and plans. In this paper, only system specification and architectural designs are described (see Fig. 3 and Fig. 4). Based on analyses of goals, data cohesion and agent interaction, the proposed MAS application, as a tool, shall use six types of agents, as follows: • User Agent – represents each user to file complaints, check best practices and application guides, as well as receive MR status from other agents. • Domain Knowledge Agent – manages the domain knowledge ontology and data. When new knowledge is added, this agent shall inform relevant users and maintainers. When a new version is applied, the domain knowledge is updated with new best practices and old practices are deprecated.

Fig. 3: Proposed MAS System Overview









Helpdesk Agent – represents the role of helpdesk staff, by generating new call tickets based on error reported by User Agent, and assigning them to available helpdesk personnel. If bugs is valid, Helpdesk Agent shall liaise with MR Agent to create new MR. MR Agent – Other than creating new MRs, this agent shall also assist planner to approve/reject MRs, monitor the progress of MRs and assign MRs to maintainers, via Maintainer Agent. Maintainer Agent – represents maintainers (analysts, programmers and testers) to monitor MR statuses and assign to maintainer groups for development. This agent also liaise with Domain Knowledge Agent and SM Knowledge Agent to obtain knowledge to assist analysts and tester in their works.. SM Process Agent – For new artifacts and object changed, SM Knowledge Agent shall update the SM knowledge base, as well as the Domain knowledge.

This agent also monitors the releases and versions, and provides maintainers with the information requested. VI. CONCLUSION AND FUTURE WORK Many of the knowledge acquisition, storage and retrieval processes within SM activities remain manual and cumbersome, especially when dealing with the domain business knowledge. Domain knowledge is considered very important, not only to users, but also for maintainers to enable them to perform the tasks properly, timely and correctly. To ensure that changes to either application or domain business rules are corroborated and shared among the Business User CoP and SM CoP, a new tool using MAS is proposed. Critical to the development of the new tool are the architecture to represent the knowledge base, activities and collaborations between the domain business CoP and SM CoP, ontologies to represent the different knowledge areas and their linkages, and MAS specifications and

Fig 4: Proposed MAS System Architecture

architecture design. The proposed MAS application shall utilize 6 types of agents; namely User Agent, Domain Knowledge Agent, Helpdesk Agent, MR Agent, Maintainer Agent and SM Process Agent. For future works, combined ontology for business domain and SM process ontologies shall be proposed. In addition, initial evaluation to establish the baseline for measurable effects of the new tool, as well as the evaluations to establish appropriateness (i.e., how the new tool fits the need of the SM CoP and Domain users CoP), shall be conducted. REFERENCES [1] [2] [3]

[4] [5] [6]

[7]

[8] [9] [10]

[11] [12] [13]

[14] [15]

R. Abdullah, Knowledge Management System in a Collaborative Environment, University Putra Malaysia Press, 2008. N. Anquetil and K. de Oliviera, “Software Maintenance Ontology,” Ontologies for Software Engineering and Software Technology, Springer Berlin Heidelberg., 2006. A. April, “Software Maintenance Maturity Model (SMmm): The Software Maintenance Process Model,” Journal of Software Maintenance and Evolution: Research and Practice, vol. 17, 2005. P. Bresciani et al., “Tropos: An Agent-Oriented Software Development Methodology,” Journal of Autonomous Agents and Multi-Agent Systems, 2004. K.H. Dam and M. Winikoff, “Comparing AgentOriented Methodologies,” 5 th International Workshop on AgentOriented Information Systems (AOIS’03, 2003, p. 5259. S. Das, W. Lutters, and C. Seaman, “Understanding Documentation Value in Software Maintenance,” Proceedings of the 2007 Symposium on Computer human interaction for the management of information technology, 2007. S. DeLoach, “Analysis and design using MaSE and agent Tool,” Proceedings of the 12th Midwest Artifcial Intelligence and Cognitive Science Conference (MAICS), 2001. D. Deridder, Facilitating Software Maintenance and Reuse Activities with a Concept-Oriented Approach, Brussel: Programming Technology Lab, 2002. R. Evans, MESSAGE: Methodology for Engineering Systems of Software Agents, 2001. R. Fjeldstad and W. Hamlen, “Application Program Maintenance Study: Report to Our Respondents,” Software Engineering- Theory and Practices, Prentice Hall, 1998. A. Fugetta, “Software Process: A Roadmap,” Proceeding of The Future of Software Engineering, ICSE’2000, 2000. Guide to the Software Engineering Body of Knowledge (SWEBOK), The Institute of Electrical and Electronics Engineers, Inc., 2004. IEEE, IEEE 14764-2006, Standard for Software Engineering - Software Life Cycle Process – Maintenance, The Institute of Electrical and Electronics Engineers, Inc., 2006. Jack Agent Software, ; http://www.agent-software.com/. V. Kabilan, Ontology for InformationSystems (O4IS) Design Methodology: Conceptualizing, Designing and

[16] [17]

[18] [19] [20] [21] [22]

[23] [24] [25]

[26] [27]

[28]

[29] [30] [31]

[32]

Representing Domain Ontologies, PhD Thesis, The Royal Institute of Technology, Sweden, 2007. B. Kitchenham et al., “Towards an ontology of software maintenance,” Journal of Software Maintenance: Research and Practice, vol. 11, 1999. B. Kitchenham, S. Linkman, and D. Law, “DESMET: a methodology for evaluating software engineering methodsand tools,” Journal of Computing & Control Engineering, 2007. B. Lientz, E. Swanson, and G. Tompkins, “Characteristics of Application Software Maintenance,” Communications of the ACM, 1978. N. Noy and D. McGuinness, “Ontology Development 101: A Guide to Creating Your First Ontology,” Journal of Knowledge Systems Laboratory, 2001. L. Padgham and M. Winikoff, Developing Intelligent Agent Systems, John Wiley and Sons, 2004. Protege, “The Protege Project.”; http://protege.stanford.edu. O. Rodriquez et al., “Understanding and Supporting Knowledge Flows in a Community of Software Developers,” Lecture Notes in Computer Science, vol. 2198, 2004. Rodriquez O.M. et al., “How to Manage Knowledge in the Software Maintenance Process,” Lecture Notes in Computer Science, vol. 3096, 2004. F. Ruiz et al., “An Ontology for The Management of Software Maintenance Projects,” International Journal of Software Engineering and Knowledge Engineering, 2004. G. Santos and et al., “Knowledge Management in a Software Development Environment to Suport Software Process Deployment,” Lecture Notes in Computer Science, vol. 3782, 2005. S. Schach et al., “Determining the Distribution of Maintenance Categories: Survey versus Measurement,” Journal of Empirical Software Engineering, vol. 8, 2003. A. Viscaino, J. Soto, and M. Piattini, “Supporting Software Maintenance in Web Repository through a Multi-Agent System,” Lecture Notes in Computer Science, vol. 2663, 2003. A. Vizcaíno, J. Soto, and M. Piattini, “Supporting Knowledge Reuse During the Software Maintenance Process through Agents,” Proceedings of the 6th International Conference on Enterprise Information Systems (ICEIS), 2004. T. Wilson, “The nonsense of knowledge management,” Journal of Information Research, vol. 8, 2002. M. Wooldridge, An Introduction to Multiagent Systems, John Wiley and Sons, 2002. M. Zali and R. Abdullah, “A Technical Perspective of Knowledge Management in Collaborative Software Maintenance Environment,” Knowledge Management International Conference (KMICE), 2008. M. Zali and R. Abdullah, “Survey on Software Maintenance Profile and Knowledge Requirement in Public Higher Learning Institutions,” Accepted for 3rd International Symposium on Information Technology Conference (ITSIM) , 2008, in press.

Suggest Documents