• No results found

Knowledge Management System Framework and Agent-Based Tool to Support Collaborative Software Maintenance Environment

N/A
N/A
Protected

Academic year: 2021

Share "Knowledge Management System Framework and Agent-Based Tool to Support Collaborative Software Maintenance Environment"

Copied!
6
0
0

Loading.... (view fulltext now)

Full text

(1)

Collaborative Software Maintenance Environment

Mohd Zali Mohd Nor

Faculty of Computer Science and

Information Technology University Putra Malaysia, Serdang,

43400 Selangor, Malaysia [email protected]

Rusli Abdullah

Faculty of Computer Science and Information Technology University Putra Malaysia, Serdang,

43400 Selangor, Malaysia [email protected]

Abstract

Software maintenance (SM) environment is highly complex, knowledge-driven and collaborative. Issue such as inadequate knowledge is still regarded as a major challenge in SM. Knowledge management system (KMS) is therefore critical to provide an environment for sharing and sustaining knowledge among members of both business users community of practice (CoP) and SM CoP. One of the important but least available knowledge required by maintainers is the Domain Business knowledge and their relations to the applications and SM process knowledge. In this study, a KMS Framework shall be established and a Multi-Agent System (MAS) tool to support knowledge storage and sharing in collaborative SM environment is proposed. Critical to building the MAS is extending the SM business rules ontology to business domain ontology. The tool shall assist CoP members to get the right knowledge at the right time, thus improve productivity for both business users and maintainers. To evaluate the effectiveness of this agent-based KMS tool, the proposed prototype shall be implemented in a SM organization and evaluated using non-randomized control group pretest-posttest design of experiment methodology and quantitative survey.

Keywords – Agent Technology, KMS, Software Maintenance

Faculty of Computer Science and Information Technology University Putra Malaysia, Serdang,

43400 Selangor, Malaysia [email protected]

Masrah Azrifah Azmi Murad

Faculty of Computer Science and

Information Technology University Putra Malaysia, Serdang,

43400 Selangor, Malaysia [email protected]

1. Introduction

SM is very important to organization mainly because organizations depend on how quickly and reliable the software can be changed to meet the ever changing business environment [6] and to survive the stiff competitions. SM is also recently becoming more challenging as the organization becomes more global or distributed [27].

SM is defined as ”The totality of activities required to provide cost-effective support to software system. Activities are performed during the pre-delivery stage as well as the post-delivery stage.” [11,20] In term of costs, SM is apparently costlier compared to software development. Previous works by [10,16,19,25] estimate maintenance costs of between 60% to 90% of total software life cycle costs. These could be attributed to the fact that within software engineering discipline, software maintenance offers significant differences over software development, as listed below [4]:

i. Maintenance is technically more restrictive, since the system architecture, database and language are inherited from development.

ii. Whilst development is driven by requirements, maintenance is driven by external events such as changes to business model.

Meanwhile, knowledge is defined as “a fluid mix of framed experience, values, contextual information and expert insight that provides a framework for evaluating and incorporating new experiences and information. It originates and is applied in the mind of knowers. In organizations, it often becomes embedded not only in documents an repositories but also in organizational routines, processes, practices and norms.” [8].

Meanwhile, KM, in technical perspective, is defined as the strategies and processes of identifying,

(2)

understanding, capturing, sharing, and leveraging knowledge [1,3,8,26]. One of the major challenges is to facilitate flow of knowledge not only within individual, but also within teams and organizations [3].

SM activities are knowledge-driven [22], and depend on largely expertise of the maintainers. Some of these expertise are documented as implicit knowledge, but more are hidden as tacit knowledge due scarcity of documentation [27]. This is why, Nonaka and Takeuchi [17] suggested that KM requires a mechanism or ‘place’ to convert internalized tacit knowledge into explicit knowledge (information), and also allow individuals to internalize meaningful information. In order to do these, maintainers have to collaborate with colleagues and other parties to obtain various information to enable them to carry out their software maintenance tasks.

1.1. Problem statement

In SM, business domain knowledge and SM process knowledge are intertwined and affects each others. While domain knowledge are important to maintainers, they are lacking, not stored properly or not readily available [24]. As such, maintainers, especially newcomers, spend a lot of time searching, collaborating and understanding these knowledge [7]. Changes to domain knowledge due to enhancements or new business practices often affect usage of software application. Similarly, changes to application and SM processes due to corrective, preventive and perfective maintenance may affect the way users use the application. Therefore, it is imperative that the domain knowledge be structured, captured, and properly linked to the SM process knowledge. These combined knowledge should be properly managed to allow both maintainers and users easier and automated access to the updated information.

1.2. Motivation

The motivation of this study is therefore 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:

i. Domain knowledge are made available and traceable to software design and usage.

ii. CoPs shall rely on system rather than people (experts) and raw source code.

iii. The new tool shall promote automation and integration of systems or tools to support maintenance processes.

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 current progress and contributions of the research.

2. Related Work

Agent technology in SM has been used in a few research prototypes such as the KM-Mantis [29]. KM-Mantis 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. [23] developed a MAS architecture with 5 main agents. Staff agent provides supports to maintainers by monitoring maintainers activities, search for knowledge sources via KMA. These are Product Agent, Client Agent, Staff Agent, Project Agent and Directory Agent (see Fig. 2.)

Intelligent agent structures the knowledge in form of ontology. The uses of ontology to support the agent-based tool is critical due to the fact that Agents use ontology to share common terms, to communicate to other agents [30] and to understand the environment in which they operate. When agent retrieves or store the knowledge, it needs to know how the knowledge is structured. These semantics is the ontology of the knowledge [32]

In SM area, several researchers have developed ontologies on SM processes [4,9,13,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.

(3)

3. Methodology

This research shall be carried out in five phases as illustrated in the following research framework (Fig. 3):

Figure 2 Research Framework

Phase 1 – LR and Analysis of KM in SM This phase involves evaluation of existing software maintenance processes and activities and literature reviews on academic journals, software maintenance books, and information search on groupware tools, Help Desk applications, Software Configuration Management (SCM) and other tools supporting software maintenance activities.

In phase 2 - Conduct Pre-Survey on KM Tools in SM, questionnaire survey shall be used to evaluate the different maintenance models used by selected SM organizations in Klang Valley, Malaysia. The survey shall cover collaborative activities and knowledge required within the software maintenance processes. Also, usage of collaborative tools and knowledge sharing tools shall be identified. This stage has been completed.

Phase 3 - Formulate a KMS Framework entails the formulation of a new model of applying KMS for collaborative software maintenance, as follows:

i. Based on earlier literature reviews (LRs) and pre-survey results, areas of concerns and different knowledge requirement areas are noted

ii. Build a KMS Framework to model based on the constructs from the above LRs. This framework

Figure 3 The KMS for Collaborative SM - Component Model

Figure 4 Proposed MAS System Overview

(4)

shall be face-validated by experts iMeanwhile, phase 4 - Develop Prototype shall include the following steps:

a. Design and Specifications for Agent-Based Tool

b. Develop - Based on the above Agent Types design, the next step is to develop the prototype of Agent-Based KMS

c. Test and enhance d. Release to Production

Phase 5 involves the evaluation to compare the effectiveness and performance of the new prototype KMS. A pretest-posttest experiment shall be employed, using Non-randomized control group Pretest-Posttest Design [15]. This experimental design is proposed due to the objective to compare the relative effects of different treatments for the same group of users and maintainers. At the same time, a control group is added to ensure higher internal validity to the experiment.

To ensure that we are measuring what we are supposed to measure, the Basili’s Goal-Question Metric (GQM) [5,14] is proposed. This approach uses a template to define metrics based on understandable and structured goals as illustrated in Fig. 4.

The proposed metrics shall also be based on Wu and Wang’s measurements on KMS success [31], which is based on DeLone and McLean Information System success model.

4. Current Progress

This research is in the stage of finalizing Phase 3 and in the midst of Phase 4. The results are as follows:

i. A Framework of KMS Components in Collaborative SM

The framework is based on theoretical constructs from the review of components from the existing KM frameworks, KMS frameworks within the area of Software Engineering. The resulted model was refined vis-à-vis a survey conducted in three in-house SM organizations in Klang Valley (see Fig. 3).

ii. Design of Multi-Agent System (MAS)

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]. Using Prometheus methodology [18] the proposed MAS functionality and architecture are depicted in Fig. 4 and Fig. 5, respectively.

iii. Design of Ontology

Based on SM ontology by Ruiz and hierarchical domain ontology proposed by Kabilan [12] and Ulrich [28], the combined SM and business domain ontology have been designed using Protégé methodology.

5. Contributions

i. Theoretical Contribution

The study shall contribute, to the body of knowledge, the conceptual KMS Framework for collaborative SM environment. The KMS Framework shall be based on the relations between the different KM components used by users and maintainers to collaborate and share knowledge within their respective community of practice. A pre-KMS survey is planned to verify the components, and a post-KMS survey shall be used to validate the KMS framework.

ii. Methodological Contribution

Three main contributions are expected from this study, as follows:

a. Methodology to design a combined Domain business knowledge and SM process knowledge

b. Methodology to design Agent types and architecture for KMS in Collaborative SM c. Methodology to evaluate the KMS tools iii. Practical Contribution

The study shall develop and implement a MAS-based prototype which shall be used to support KMS in collaborative SM environment. The prototype shall serve to validate the usage of software agents to assist users and maintainers to capture, store, share and use the knowledge and hence improve productivity.

In addition, a working model of combined Domain knowledge and SM ontology shall be developed, to allow software agents to manage the knowledge and collaborate.

6. Conclusion

The goal of this research is to provide tools to support maintainers to perform their daily activities, by managing domain business knowledge, application knowledge and SM process knowledge into a seamless, integrated Figure 6 GQM Approach

(5)

system. It is envisaged that the following mechanisms shall support the above goal:

i. Domain business knowledge are made available and traceable to software design and usage.

ii. CoPs shall rely on system rather than people (experts) and raw source code.

iii. The new tool shall promote integration of systems or tools to support maintenance processes.

To achieve the above objectives, a 6-phase plan is proposed to study and identify the SM processes and environments, and to formulate the framework for KMS in collaborative SM. The subsequent phases shall be the implementation on a new tool to support KMS in SM, and evaluation of the new tool. The tool is expected to streamline management of knowledge, especially the domain knowledge, to allow maintainers to perform their tasks effectively and hence increase productivity.

References

[1] R. Abdullah, Knowledge Management System in a Collaborative Environment, University Putra Malaysia Press, 2008.

[2] R. Abdullah, S. Sahibuddin, R. Alias, and M.H. Selamat, “Knowledge Management System Architecture For Organizational Learning With Collaborative Environment,” International Journal of Computer Science and Network Security, vol. 6, 2006.

[3] M. Alavi and D. Leidner, “Knowledge Management Systems: Issues, Challenges, and Benefits.”, Communication of AIS, Vol.1, 2006.

[4] N. Anquetil and K. de Oliviera, “Software Maintenance Ontology,” Ontologies for Software Engineering and Software Technology, Springer Berlin Heidelberg., 2006. [5] V. Basili, Caldiera, Gianluigi, and Rombach, “Goal

Question Metric Paradigm,” Encyclopedia of Software Engineering, New York: John Wiley & Sons, 1994.

[6] K. Bennett and V. Rajlich, “Software maintenance and evolution: a roadmap,” Conference on The Future of Software Engineering, ACM Press, 2000, pp. 87, 73.

[7] 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.

[8] T. Davenport and L. Prusak, Working Knowledge: How Organization Manage What They Know, Harvard Business School Press, 2000.

[9] D. Deridder, Facilitating Software Maintenance and Reuse Activities with a Concept-Oriented Approach, Brussel: Programming Technology Lab, 2002.

[10] R. Fjeldstad and W. Hamlen, “Application Program Maintenance Study: Report to Our Respondents,” Software Engineering- Theory and Practices, Prentice Hall, 1998.

[11] IEEE, IEEE 14764-2006, Standard for Software Engineering - Software Life Cycle Process – Maintenance, The Institute of Electrical and Electronics Engineers, Inc., 2006.

[12] V. Kabilan, Ontology for InformationSystems (O4IS) Design Methodology: Conceptualizing, Designing and Representing Domain Ontologies, PhD Thesis, The Royal Institute of Technology, Sweden, 2007.

[13] B. Kitchenham, G. Travassos, A. Mayrhauser, F. Niessink, N. Schneidewind, J. Singer, S. Takada , R. Vehvilainen, and H. Yang, “Towards an ontology of software maintenance,” Journal of Software Maintenance: Research and Practice, vol. 11, 1999.

[14] T. Kucza, “Knowledge Management Process Model,” International Journal of Computer Science and Network Security, vol. 455, 2001.

[15] P. Leedy and J. Ormrod, Practical Research: Planning and Design, Pearson Prentice Hall, 2005.

[16] B. Lientz and E. Swanson, “Characteristics of Application Software Maintenance,” Communications of the ACM, vol. 24, 1981.

[17] I. Nonaka and H. Takeuchi, The Knowledge-Creating Company, New York: Oxford University Press, Inc., 1995.

[18] N. Noy and D. McGuinness, “Ontology Development 101: A Guide to Creating Your First Ontology,” Journal of Knowledge Systems Laboratory, 2001.

[19] T. Pigoski, Practical Software Maintenance:Best Practices for Managing your Software Investment, John Wiley & Sons, 1997.

[20] T. Pigoski, “Software Maintenance,” Guide to the Software Engineering Body of Knowledge (SWEBOK), The Institute of Electrical and Electronics Engineers, Inc., 2004.

[21] Protege, “The Protege Project.,” 2008.

[22] O. Rodriquez, A. Martinez, J. Favela, A. Viscaino, and M. Piattini, “Understanding and Supporting Knowledge Flows in a Community of Software Developers,” Lecture Notes in Computer Science, vol. 2198, 2004.

[23] O. Rodriquez, A. Martinez, J. Favela, A. Viscaino, and M. Piattini, “How to Manage Knowledge in the Software Maintenance Process,” Lecture Notes in Computer Science, vol. 3096, 2004.

[24] G. Santos, K. Vilela, M. Montoni, and A. Rocha, “Knowledge Management in a Software Development Environment to Suport Software Process Deployment,” Lecture Notes in Computer Science, vol. 3782, 2005.

[25] S. Schach, B. Jin, L. Yu, G. Heller, and J. Offutt, “Determining the Distribution of Maintenance Categories: Survey versus Measurement,” Journal of Empirical Software Engineering, vol. 8, 2003.

(6)

[26] M. Selamat, R. Abdullah, and C. Paul, “Knowledge Management System Architecture For Organizational Learning With Collaborative Environment,” International Journal of Computer Science and Network Security, vol. 6, 2006.

[27] B. Sengupta, S. Chandra, and V. Sinha, “A Research Agenda for Distributed Software Development,” Communications of the ACM, 2006.

[28] F. Ulrich, “A Multi-Layer Architecture for Knowledge Management Systems,” Knowledge Management Systems: Theory and Practice, Thomson Learning, 2002, pp. 97-111.

[29] 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.

[30] M. Wooldridge, An Introduction to Multiagent Systems, John Wiley and Sons, 2002.

[31] J. Wu and Wang Y.M., “Measuring KMS success: a respecification of the DeLone and McLean's model,” Journal of Information and Management, vol. 43, 2006.

[32] J. Yusko, “The Knowledge Collective: A Multi-Layer, Multi-Agent Framework for Information Management in an Intelligent Knowledge Base,” PhD. Thesis, Illinois Institute of Technology, 2005

References

Related documents

Integrating the findings of the three latter studies with those concerning self-criticism, in the present study, we explored the relationships between brooding, reflection,

As you may recall, last year Evanston voters approved a referendum question for electric aggregation and authorized the city to negotiate electricity supply rates for its residents

The purpose of this note is to establish an approximation to the bias when multivariate generalized linear models (which includes many common models for outcomes with

Our analysis of responses from a questionnaire sent to loan officers in acquired banks shows several significant relationships between the evolution of these three mechanisms of

[r]

Figure 8 shows the succession of TEM dark-field images taken from the samples processed by HPT for N = 75 and aged at 473 K (200 C) for 0.25, 24, and 96 hours as corresponding

Statements that are not historical facts, including statements about the Company’s strategy, plans, objectives, assumptions, prospects, beliefs and expectations, are