Utilizing Usability Model with Multi-agent Technology to Facilitate Knowledge Sharing of Software Maintenance Process Knowledge Environment

This paper described a system to manage knowledge generated during the software maintenance process (SMP). Knowledge Management System (KMS) is utilizing to help employees build a shared vision, since the same codification is used and misunderstanding in staff communications may be avoided. The architecture of the system is formed from a set of agent communities each community of practice (CoP). The agents can learn from previous experience and share their knowledge with other agents or communities in a group of multi-agent system (MAS). This paper also described on the theoretical concept and approach of (MAS) technology framework that could be implemented (SMP) in order to facilitate knowledge sharing among the maintainers as well as to demonstrate it into the system wise, on how the (MAS) technology could be utilized in (SMP) system model for serving the maintainer that is developed by using groupware such as Lotus Notes software. This paper applied the definition of (ISO 9241-11, 1998) that examines effectiveness, efficiency, and satisfaction. The emphasis will be given to (SMP) activities that may concern with (MAS) technology that to help the maintainers in order to work collaboratively including critical success factor ensuring that SMP initiatives would be delivered competitive advantage for the (CoP) as well as users of the organization.


Introduction
Knowledge comes not only from the expertise of the professionals involved in the process, but it is also intrinsic to the product being maintained, and to the reasons that motivate the maintenance (new requirements, user complains, etc.) and processes, methodologies and tool used in the organization.In addition, during software maintenance (SM) may occur substantial changes?One such example are changes in the maintenance staff (which could mean that the people's expertise changes as well), or the frequency with which each type of maintenance (corrective, perceptive, adaptive or preventive) is carried out.Using a KMS a new knowledge might be produced, thus obtaining the maximum performance from the current information.By reusing information and producing relevant knowledge the high costs of SM could also be decreased (De Looff L, 1990).KM defines as a discipline that promotes an integrated approach to identifying managing and sharing of all of an enterprise's information assets.These information assets may include database documents, policies procedures as well as previously unarticulated expertise and experience resident in individual workers.KM issues include developing, implementing and maintaining the appropriate technical and organizational infrastructure to enable knowledge sharing (GartnerGroup, 2005).SMP-Based KMS communities contain the software engineers, software developers, workers' knowledge or (system's users) and maintenance engineers in order to facilitate knowledge sharing among CoP.SMP involve many activities in which different people intervene.Each person has partial information that is necessary to other members of the group.If the knowledge only exists in the software engineers and there is no system in charge of transferring the tacit knowledge (contained in the employees) to explicit knowledge (stored on paper, in files, etc) when an employee abandons the organization part of the intellectual capital goes with him/her.When this occurs in an organization involved in SM the end effect is a loss in intellectual capital and increased maintenance effort and costs.Unfortunately, this is often the case.Another well-known issue that complicates the maintenance process is the scarce documentation that exists related to a specific software system, or even if detailed documentation was produced when the original system was developed, it is seldom updated as the system evolves.For example, legacy software from other units often has not documentation which describes the features of the software (De Looff L, 1990).
For an organization that deals with SM, an interesting alternative is to have KMS which stores explicit knowledge and enables the organization to own its intellectual capital and share it with the sub-units.Otherwise, the software developers own this information and the company depends on them.Another advantage of using a KMS is that it reduces the time that a person needs to mature professionally because it favors the professional development of employees and in this way increases the intellectual capital of the organization.With the passing of time, workers acquire knowledge which they do not normally pass on to his/her peers in the same area (let alone to workers in different areas (De Looff L, 1990).
For this reason, different solutions are often used in order to solve the same problem.Using a KMS which acquires workers' knowledge and transmits it, the above mentioned situation would decrease since all workers could benefit from other employees' experience and the organization would increase its expertise and coherence of information.
With a KMS the staff may also be informed about the location of information.It is critical for maintenance engineers to have access to the knowledge the organization has carried out a study which found that the number one barrier to knowledge sharing was "ignorance": the sub-units are ignorant of the knowledge that exists in the organizations, or the sub-units possessing the knowledge are ignorant of the fact that another sub-unit needs such knowledge.Sometimes the organization itself is not aware of the location of the pockets of knowledge or expertise (Orton, J.D., & Weick, K.E, 1990).This fact has been summarized by management practitioners as "the left hand not only does not know what the right hand is doing, but it may not even know there is a right hand" (Szulanski, G, 1994).
KMS also help employees build a shared vision, since the same codification is used and misunderstanding in staff communications may be avoided.Several studies have shown that a shared vision may hold together a loosely coupled system and promote the integration of an entire organization (International Standards Organization ISO 9241-11, 1998).
The above explained issues motivated us to design a KMS for capturing, managing, and disseminating knowledge in a SM organization, thus increasing the workers' expertise, the organization's knowledge and its competitiveness while decreasing the costs of the SMP.To have a shared vision of the maintenance process it is advisable to define a conceptualization of the domain.An explicit specification of such conceptualization is ontology (Hoffer , J. George, J. Valchich, J, 2005).
Normally, programmers will start creating the knowledge that being proposed for a certain project in the organization.When he or she has finished depositing knowledge into the knowledge repositories, the system will trigger the event and pass it to any member specified through e-mail system.This notification will be done based on previous record in order to make sure alerts could be done to those who are interested in the particular knowledge in order to make a decision.Otherwise, this knowledge will be un-meaningful for the other member (Ginsawat, R., Abdullah, R. & Nor, M. Z, 2009).When the system analysts or supervisors also want to make a decision, they should open their mailboxes and look on the subject matter.If they are willing to know about the detail of the knowledge created, they are asked to enter the username and password for security purposes.At the same time another agent will work by updating the status of accessing document as users who are interested with the subject matter (Ginsawat, R., Abdullah, R. & Nor, M. Z, 2009) CoP is groups of people who share a concern, set of problems, or a passion about a topic, and who deepen their knowledge and expertise in this area by interacting on an ongoing basis (Wenger, E, 2002).
The changeable character of the SMP requires that the information generated be controlled, stored, and shared.We proposed in order to manage the knowledge generated during maintenance a MAS formed of three agents are under the client agents implementation.One agent, called the send and receive mail agent, is in charge of organizing the information sent and received from the group.The second agent is scheduler agent and the third agent for the security.The rest of the agents are also communicated, thus enabling them to interchange information.The main goal of this paper is to design and applying MAS techniques-based KMS in a collaborative environment of lotus notes to facilitate knowledge sharing of SMP among the users of the community of practice.This techniques was inspired by the "there is lack of model of MAS used in SM in order to product the sharing of knowledge in SMP" and also" there is inconsistency of MAS using in test of its functionality" An experiment is setup setting based on the proposed usability testing model is discussed.The testing is specially designed to verify the significant of the send and receive mail agent, decryption and decryption file agent and file transferring schedule agent and the algorithms used, and to get user satisfaction on the overall system.The success of system is evaluated through user satisfaction survey which covers (i) File sent (ii) File encrypted/ decrypted (iii) File extracted from SMP data warehouse, and (iv) SMP data warehouse technique.
The contributions of the paper are three-fold.First, this research identifies components for agent-techniques-based knowledge sharing system of SMP.Second, finding suitable approach for MAS techniques to be used in knowledge sharing system of SMP.Third, provide reasonable background for applying existing usability testing of MAS techniques-based KMS to facilitate knowledge sharing of SMP and describe whether MAS techniques is significant in knowledge sharing of SMP through user satisfaction experiment.

Literature Review
Knowledge about agent concept alone is not sufficient to build a good agent system.There are some fundamental issues needed to drive the design of an agent (Bigus, J. P., Bigus, J., 2001).The first is to view the agents as adding value to a single standalone application, or as a freestanding community of agents that interact with each other and other applications.The first type views the agent from the perspective of application-centric, where the agents are helpers to the application, while the second is more agent-centric, where the agents monitor and drive the application.
In recent years, Multi-Agent System (MAS) has been an active research topic.Due to the difficulties in solving process planning and production scheduling problems using traditional centralized problem solving methodology, MAS approach -a distributed problem-solving paradigm is used as another attempt to solve the planning and scheduling problems.As a distributed problem-solving paradigm, MAS breaks complex problems into small and manageable sub-problems to be solved by individual agents co-operatively (Vermeulen, S. Bohte, D. Somefun &Poutré J. L, 2006).
Agent paradigm lets users think in term of agents rather than objects / functions.The agent exhibits presents high dependencies compared with an object-oriented approach.Such a software application needs an appropriate software development method.An analysis and design methodology is intended to assist first in gaining understanding of a particular system, and secondly in designing it (Wooldridge, M, 2004).There are few choices of agent-oriented methodologies to help software engineers to specify, design and build agents to achieve the system's goals.(Dignum, V., 2006) proposed Operation per Organizations (OperA), a model for agent's organization, society and interaction model.The Organizational Model implements the desired organizational structure of an agent society, the description of an agent population that will enact the roles described in the structure is detailed in the Social Model, and the specification of agent interactions to achieve the desired society global objectives is described in the Interaction Model.However, this model needs other agent oriented methodology to help designing the system.(Park, S., Sugumaran, V., (2005) introduced a framework of multi-agent system (MAS) development that considers both functional (services to solve complex problems in distributed environments) and non-functional service (capability to reuse, easy to extend, adapt and process uncertain data) of the system.They also suggested that, in order to develop MAS in a systematic way, system should be analyzed in terms of its ultimate goals and the system should be designed both in the abstract as well as concrete by mapping the goals and the sub-goals to software agents.
(Elst,L.V., Dignum V., & Abecker A., 2004) asserted a three-dimension overview on agent-mediated knowledge management which includes (i) understanding the stage in a system's development process where agents are used (analysis, conceptual design, or implementation) (ii) analyzing the architecture / topology of the agent system, and (iii) identifying KM functionality / application focused on.
MAS developed for job shop scheduling problems in which standard operating procedures are combined with a look-ahead coordination mechanism that should prevent 'decision myopia' on part of the agents.Using their approach, system performance is said to improve in tightly-coupled, real-time job-shop scheduling environments.However, their coordination mechanism is not appropriate for competitive, self-interested agents, which makes it an undesirable choice for coordination in a de-icing setting (Liu and K. P. Sycara, 1996).
Analyzing the structural and representational aspects of large application software, explanation and/or predictions can be made about its maintainability.In that study, maintenance improved significantly when the language used supported (Rombach, H. D, 1987).
Usability testing is a multidimensional construct and can be assessed using various criteria.This paper applies the definition of (Nielsen J, 1993) that examines effectiveness, efficiency, and satisfaction.Usability testing model is to explain how to identify the information which is necessary to take into account when specifying or evaluating usability testing of a visual display terminal in terms of measures of user performance and satisfaction.Guidance is given on how to describe the context of use of the product (hardware, software or service) and the relevant measures of usability testing in an explicit way.The guidance is given in the form of general principles and techniques, rather than in the form of requirements to use specific methods (Nielsen J, 1993).
The guidance in ISO 9241-11 (1998) can be used in procurement, design, development, evaluation, and communication of information about usability.ISO 9241-11 (1998) includes guidance on how the usability of a product can be specified and evaluated.It applies both to products intended for general application and products being acquired for or being developed within a specific organization (International Standards Organization ISO 9242-11, 1998).ISO 9241-11 (1998) also explains how measures of user performance and satisfaction can be used to measure how any component of a work system affects the whole work system in use.The guidance includes procedures for measuring usability but does not detail all the activities to be undertaken.Specification of detailed user-based methods of measurement is beyond the scope of ISO 9241-11 (1998) (International Standards Organization ISO 9242-11, 1998).According to the benefits and importance of ISO 9241-11 (1998), this paper proposed a testing model for assessing usability of SMP.As reflected in the definition, three central criteria for usability are the effectiveness, efficiency and satisfaction with which users can achieve specified goals (International Standards Organization ISO 9242-11, 1998) as shown in Figure 1 (Note 1).

Methodology
As shown in Figure 2 (Note 1) the methodology discusses about the usability testing model used as the methodology to describe that the MAS applied in collaborative environment will help the users according to their needs to support communities in the organization and performance aspects, as well as any other aspects that suggested by the respondents during the survey.Also in these following sections, each criteria of the usability testing model with domino designer, system configuration and others software used in development of the system will be further elaborated in order to achieve its objectives.
Our methodology composed of four main phases as followed:

Phase 1 -literature review and analysis of MAS based 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 and our Cop tools, MASs applications, usability testing model and other tools supporting software maintenance activities ( described in section 2 above).

Phase 2 -systems design
Systems design is the process or art of defining the architecture, components, modules, interfaces, and data for a system to satisfy specified requirements (Gruber, T, 1995).
System design includes user interface design, designing database, designing form and reports and designing dialogues.In software engineering context, design focuses on four major areas of concern: data, architecture, interface, and components.
In this phase the actual coding or development of the system is done.The system designs are translated into code.Based on the system design, the work is divided in modules/ units.With respect to the type of application, the right programming language is chosen.In this stage, resources such as programming language, database and compiler will work together to produce a system that can function effectively.
User interface design is the design of computers, software application, and websites with the focus of the user's experience and interaction.It's also creates and effective communication medium between a human and computer.An effective user interface design must able to understand how users think and needs.Any user interface contains the Name, Mail, Phone Number, Year of Experience and user Expertise as shown in Figure 5 (Note 1).The author followed the steps above in order to design the all user interfaces design that exist in the system.Logical and physical database design is the efficient guidelines for design database and file.File and database design occurs in two steps, we begin by developing the logical database model , which describes data using notation that corresponds to a data organization used by data management system.This is the system responsible for storing, retrieving, and protecting data as shown in Figure 6 (Note 1).

Phase 3 -system development
As shown in Figure 3 (Note 1) the process of sharing knowledge start when a user willing to share its knowledge (file) of SMP application.The user login to his/her email and if the file available with the user then the encryption and decryption agent will encrypt/decrypt the file, and send and receive email will activate directly after that the file will be shared (sent) to the requester user, or if the file exist into SMP warehouse then the file transferring agent will activate and the encryption and decryption agent will encrypt/decrypt the file and send and receive email will activate then the file will be shared (sent) to the requester user.
The system architecture includes MAS architecture design, steps followed to create the agents, and applied MAS description.
Architecture design is the design process for applying MAS in a collaborative environment and the framework for MAS control and communication.Usually it involves applying major system components and communication.
Figure 4 (Note 1), describes the communication between the agent and the whole system among the users mails and also demonstrate the agents into the system.SMP requires that the information generated be controlled, stored, and shared.We propose in order to manage the knowledge generated during maintenance a MAS formed of three agents are under the client agents implementation.This part contains the description for the applied MAS and describes the name, job, and the language used.First agent, called the send and receive mail agent, is in charge of organizing the information sent and received from the group.The second agent is encryption and decryption agent and the third agent is file transferring scheduled agent.The send and receive agent communicates with the other two agents.When it receives information, it processes it in order to determinate to what agents should the information be sent to.Since specific information may influence the knowledge managed by different agents, the send and receive agent must know the relationship that exists between all the agents.They also mediate communication among people, and this is of prime importance.In this case, agents will act as a communicator for the user that is based on the direction given and produces the result when it is required to do so.Agents also could be categories in terms of its roles in knowledge searching, knowledge monitoring, and others.

Applied MAS description
The changeable character of the SMP requires that the information generated be controlled, stored, and shared.We propose in order to manage the knowledge generated during maintenance a MAS formed of three agents are under the client agents implementation.This part contains the description for the applied MAS and describes the name, job, and the language used.First agent, called the send and receive mail agent, is in charge of organizing the information sent and received from the group.The second agent is encryption and decryption agent, use to protect the SM files that existed into SMP warehouse and the third agent is file transferring scheduled agent, use to extract the file from SMP warehouse and apply it to the user that requested to share it with other users.
The send and receive agent communicates with the other two agents.When it receives information, it processes it in order to determinate to what agents should the information be sent to.Since specific information may influence the knowledge managed by different agents, the send and receive agent must know the relationship that exists between all the agents.

Participants
The respondents including System Analyst, System Developer, Software Engineer, and User and will be chosen to fill the questionnaire of this study.The respondents should be applying the system before solving the questionnaire to be situated.

Procedures
In the beginning, the respondents will receive a short, scripted verbal orientation explaining the purpose of the usability testing.Then they will be asked to complete a short background questionnaire to collect their demographic characteristics.The respondents will be asked to perform a set of information about how to share knowledge using the usability test as a kind of multi-agent technology for SMP.The tasks were written on a sheet of paper that included a space where respondents will be asked to indicate their answers.Once the tasks are completed, respondents will be asked to complete a short participant satisfaction questionnaire to collect and test their own perceptions towards SM.

Tasks
Respondents will complete three tasks: 1.They will complete a background/experience questionnaire that including name, gender, age, education level, Major/Department, and years of experience.
They will perform tasks using the questionnaire's sheet.
There is also a post-survey questionnaire that specifically examines MAS techniques.After completing a task, the respondents will ask to rank satisfaction and to write down comments.

Data collection
This evaluation model considers both quantifying elements of performance (experience and experiment) as well as subjective empirical.If the answer is wrong, or he/she not familiar with this question then skip to the second question until all the question will be solved.We will, however, record whether respondents are able to complete tasks successfully.The criteria for successful task completion are: Participant is able to give a correct answer based on his own information about the system.Any guessed or assumed answers, whether correct or not, are not record as successfully completed tasks.
Participant is able to give a definite answer to the question.Where respondents indicated they are unsure about the answer or would seek clarification, the task will record as not successfully completed.

Questionnaires
The purpose of the questionnaire is to prove: Handle the interpretation of the term KM and the company's key objective in SM.
Handle the aspects that come into play in KM, such as the existence of a strategy, the processes of quality control of data, the content that is being managed, and the functioning of communities of practice.

Identify the Multi-Agent technique of willingness of cooperation for research work.
Identify the Multi-Agent technique for helping the user according to his needs.
Basically, there are two types of questionnaire that we prepared as part of usability testing for the respondents for the level of the questions is shown in (Appendix B). (Note 4)

Pre-Survey questionnaire (background)
A series of questions designed to collect demographic information about the respondents to assess their level of his information about the system is shown in table 1 (Appendix A). (Note 4)

Post-Survey questionnaire
After the test subject completed each scenario, he/she should answer a specific questions related to the tasks.To indicate whether the tasks was clear and completed successfully.
After the test subjects complete all the scenarios, he/she will answer thirty six points, eighteen related to KMS and also eighteen related to MAS questionnaires to record user satisfactory.

The Integrated Development Environment (IDE) tools of Lotus Notes software
By using the groupware of Lotus Notes (Lotus company, 2007), the best agent technology capability that could be developed is used Java Script programming that comes along with this package.The examples of the IDE and scripting development of interface are shown in Figure 7

Result and Discussions
The result was conducted according to the methodology described in the previous section.It is starts with an overview of data collected by analyzing trends.The Pre-Survey Questionnaire for the respondents shown in (Appendix A).The Post-Survey Questionnaire for both Quantitative and Qualitative MAS questions.Satisfaction is a multi-dimensional construct.This study applies MAS technology to support knowledge sharing of SMP.(Note 4)

Usability testing for the system
Several types of data were collected to assess user's performance and user's perceptions of negotiating the system.In addition, we examined selected features of the normal lotus notes system to determine their effectiveness.Tasks were deemed to be either completed or not completed.

Effectiveness
As we can notice all respondents were able to complete all the tasks.Effectiveness was measured by the number of tasks successfully completed.For other tasks respondents were able to complete in success percent ranging between (50% & 100%).The Successful task completion for the individual tasks is summarized in Figure 8 and Figure 9 below for the respondents.As we can see the average of successfully completion task are high, according to this results the successfully completion task that presented the effectiveness, achieved correctly.Moreover these results of the tasks successfully completed are high.
Figure 9 (Note 3) shows that Q1, Q5 and Q9 are completed answered successfully (100%) and the others questions got more than 60%.

Efficiency
Completion time is the one factor used for measuring efficiency in this paper.Efficiency was measured by the amount of time taken to complete all tasks.An average of 44 minutes and 3.5 seconds per respondent was taken to complete the all tasks.However, there was much variation among the respondents, for example, the fastest respondent took only 18 minutes and the slowest took 37 minutes and 9 seconds which are about three times longer.Pearson's product-moment correlation analysis was conducted to see if the respondents' completion time is related.The results showed that total completion time is independent, (see Figure 10 and Figure 11) (Note 3).
As a result, efficiency was measured by evaluating completion time used in this survey by each respondent.Respondents who they were familiar with the systems in general tended to use less time to complete their tasks.When the respondent knows how to get the answer, it takes them fewer time while when they don't know how to use the system, they take more time.

Satisfaction
Respondents Satisfaction measured by using the two scales (YES= respondent agreed, NO= respondent not agreed).Satisfaction was measured by a rating scale for several satisfaction elements.
According to the result below, the satisfaction for the respondents were in moderate level.
Figure 12 (Note 3) shows the respondent satisfaction for Quantitative analysis for MAS.The Q2 and Q8 give high satisfaction (Mean=5.10)out of (Maximum =6) and Q6 give high satisfaction (Mean=4.70),and Q7 also give high satisfaction (Mean=4.40)out of (Maximum=5).All respondents feel satisfied with the system when they fail to perform the task correctly.
Figure 13 (Note 3) shows the respondent satisfaction for Qualitative analysis for MAS.Q8 give high satisfaction (Mean=5.40)and Q9 give high satisfaction (Mean=5.50)out of (Maximum =6) and Q7 give high satisfaction (Mean=4.20)out of (Maximum=5).30% of respondents feel less satisfied with the system when they fail to perform the task correctly.
Groupware software has been used which is Lotus Notes (Lotus company, 2007).This software provides various types of services for a CoP.The most important service offers by this software or product is particularly in term of SMP warehouse.This service will serve the CoP to share their knowledge and any things that are stored in SMP warehouse.Another common service is agent technology, which it allows people to share the knowledge or notification regarding the latest knowledge of SM in the SMP warehouse at any time and any place.The set of the agents are communicated to show how the system running as shown in section 4 (system development).Usability testing model cafeterias (effectiveness, efficiency & satisfaction) are supporting this idea based to the (Appendix B). (Note 4)

Conclusion
SM is one of the most important stages of the software life cycle.This process takes a lot of time and effort.Besides, it generates a huge amount of different kinds of knowledge that must be suitably managed.MAS in charge of managing this knowledge might improve the maintenance process since agents would help developers find information and solutions to problems and to make decisions, thus increasing organization's competitiveness.KMS is a good place where people could share their knowledge between the CoP.In this case, agent's technology is a tool that could be used in order to act on behalf of CoP of SM to do something repetitively and time based system especially in maintaining various types of maintenance such as Adaptive, Perfective, Corrective and Preventive.The agent techniques describes send and receive agent use to enable the user to share their knowledge among their emails and file transferring scheduled agent use to extract the file from the SMP warehouse and encryption/decryption agent use as the security agent to protect the file.Usability testing model use the three main criteria effectiveness was measured by the number of tasks successfully completed, efficiency was measured by amount of time taken to complete the tasks, and satisfaction was measured by a rating scale for several satisfaction elements.
Figure 1.Utilized Usability Model