Aurora Vizcaíno
Alarcos Research Group
Universidad Castilla
-
La Mancha (Spain)
Applying Knowledge Management
in Software Maintenance
through Agents
Saskatoon July 2004
2
Saskatoon July 2004
3
•
Knowledge Management
CONTENTS
•
KM
-
Mantis: A Multi
-
Agent System
•
Conclusions
•
Why use Knowledge Management in
Software Maintenance?
4
Saskatoon July 2004
5
Knowledge Management
•
The management of organizational knowledge to
create business value and generating a competitive
advantage
•
Tacit Knowledge
•
Explicit knowledge
Saskatoon July 2004
6
Knowledge Management
•
The
SECI
(Socialization
-
Externalization
-
Combination
-
Internalization)
model
describes
the
combinations
of
the
different
types
of
knowledge
•
Socialization
:
Sharing
tacit
knowledge
.
It
becomes
new
tacit
knowledge
for
the
person
that
receives
it
Saskatoon July 2004
7
Knowledge Management
•
Externalization: Expressing the tacit knowledge as
explicit knowledge
•
Internalization: Converting explicit knowledge into
tacit knowledge. The person adds her/his experience
and beliefs
•
Combination: Mixing different explicit knowledge
Saskatoon July 2004
8
Combination
Internalization
Externalization
Socialization
to Explicit
Knowledge
Tacit Knowledge
Tacit
Knowledge
Explicit
Knowledge
Knowledge Transformation
Saskatoon July 2004
9
The Need for Knowledge Management
in Software Engineering
Development teams do not benefit from existing
experience. Instead they repeat mistakes over and
over again (Basili et al., 2001; Brössler, 1999)
These problems are also linked to the problem of
transferring knowledge to novices in the
organization
Saskatoon July 2004
10
Software
development
is
becoming
a
complex
domain
to
master
due
to
the
constant
change
and
trends
of
new
technologies
Every
emerging
technology
cannot
be
mastered
overnight
and
it
is
extremely
hard
to
accurately
estimate
the
cost
of
a
project
when
the
technologies
it
will
be
using
are
new
and
unproven,
and
may
even
change
during
the
project
The Need for Knowledge Management
in Software Engineering
Saskatoon July 2004
11
People in software organizations spend 40% of their
time in searching for and accessing different types of
information related to their projects (Henninger,
1997)
In the absence of any knowledge about other
employees’ expertise, people are even found
spending as many as 3
-
4 days locating experts
KM
can
establish
routines
for
identifying
knowledge,
as
well
as
the
people
who
own
the
knowledge
The Need for Knowledge Management
in Software Engineering
Saskatoon July 2004
12
KM in Software Engineering. Opportunities
While AI techniques can be intimidating to many
people, this is not the case for software engineers
(Schneider, 2001)
All artifacts are already in electronic form
(Schneider, 2001)
Knowledge sharing between software engineers does
already occur. (Knowledge sharing forum in Sun’s
support for Java programmers)
The Need for Knowledge Management
in Software Maintenance
•
Many studies have demonstrated that most of the overall
expenses incurred during the life
-
cycle of a software product
occur during the maintenance process
•
Products
•
Reasons that motivate maintenance (new requirements, user
complaints)
•
Professionals involved in the SM process
•
The various types of information are produced at different
stages but seldom is it stored and processed
•
A lot of information is generated from different sources:
13
The Need for Knowledge Management
in Software Maintenance
•
Each person has partial information that is required by other
members of staff
•
If a person leaves the organization his/her expertise and
tacit knowledge go with him/her
•
By
using
a
KM
system
tacit
knowledge
can
be
transformed
into
explicit
knowledge,
which
belongs
to
the
organisation,
and
good
solutions
and
lessons
learned
can
be
reused
thus
avoiding
the
repetition
of
mistakes
14
KM
-
MANTIS a Multi
-
Agent System
Why agents?
•
Agents can manage both distributed and local information
•
Agents share their knowledge
•
Agents may have different reasoning techniques (induction
and decision tree
-
based algorithms, case
-
based reasoning)
A system for storing, processing and managing information
and knowledge generated during the software maintenance
process
•
Agents are proactive
15
KM
-
MANTIS Architecture
16
KM
-
MANTIS Architecture: Staff Agents
I am the Staff Agent, I am in charge of
helping maintainers to perform their
work. When a person chooses a project
I ask the KMA to search for knowledge
that can be userful for him
17
Give me information about this tax
Knowledge Manager Agent
Staff Agent
This tax should be applied...
KM
-
MANTIS Architecture: Product Agents
I am the Product Agent, I have all the information
related to a product such as which person has
modified something, why, etc.
And when a new modification is demanded a
new project agent is created and I give it
information about which people are the most
suitable to do the work, what activities should be
carried out and what documentation it could be
useful to consult.
Of course to know this I consult the KMA
and the KSMA.
18
Knowledge Manager Agent
Is this activity
appropriate for
a corrective
maintenance?
Knowledge Sources Manager Agent
Who is the
expert in Java?
KM
-
MANTIS Architecture: Project Agent
I am the Project Agent, I control the evolution of
my project. For instance the state of each task, the
persons who are working in the project, what
information they often consult. So I can inform
the KMA what information is the most important,
therefore it can recommend it in a future
similar project
19
KMA
This information
was very useful
KM
-
MANTIS Architecture: Client Agent
I am the Client Agent, I help clients when they
are filling in a maintenance request and also send
it to the product agent. Moreover, If a client wants
I can inform him about the evolution of the
request that he/she made previously. To obtain this
information I consult the Project Agent
20
Saskatoon July 2004
21
I am the Directory Agent, I have information
about how many agents are active in the system
KM
-
MANTIS Architecture: Directory Agent
KM
-
MANTIS Architecture: KMA and
KSMA Agents
I am the KMA (Knowledge Manager Agent)
I try to generate new knowledge from the
Maintainer’s daily work. For example, if a person
is working with a project in Java I can guess that
this person knows Java, and the more he works in
Java projects the more expert I will think him in
this language
I am the KSMA (Knowledge Sources Manager
Agent) I know where the knowledge sources are and
how to consult them. For instance I know that the design
of a particular software is in the electronic report called
Designof”Name” or that Mary is the expert in Java
programs
22
Saskatoon July 2004
23
Mary,
who
is
a
mantainer,
has
consulted
in
the
system
the
list
of
the
projects
she
is
working
on,
and
she
has
selected
a
project
.
The
staff
agent
informs
her
there
are
different
knowledge
sources
that
can
help
her
.
She
chooses
to
see
these
.
Saskatoon July 2004
24
General data
about the source
Shows the diferent
locations of the source
Shows the kind of knowledge
that the source
has
List of sources
found
General data
about the source
Shows the diferent
locations of the source
Shows the kind of knowledge
that the source
has
List of sources
found
Saskatoon July 2004
25
Some Aspects of Implementation
•
Ingenias, a methodology based on
MESSAGE
(Methodology for Engineering Systems of Software Agents)
•
Jade Platform
which provides mechanisms to define and
use ontologies
•
Information is stored in XML documents in a XINDICE
database
Conclusions
•
SMP
generates
different
types
of
information
during
different
stages
.
By
using
Knowledge
Management
this
information
can
be
processed
and
reused
.
Therefore,
organizations
can
be
independent
of
their
employees’
knowledge
•
A
multiagent
system
where
different
agents
obtain
and
process
the
different
types
of
information
in
order
to
help
maintainers
to
perform
their
work
•
Knowledge
Management
enables
companies
to
be
more
competitive
26
Saskatoon July 2004
27
Applying Knowledge Management
in Software Maintenance
through Agents
Aurora Vizcaíno,
Alarcos Research Group
Universidad Castilla
-
La Mancha (Spain)
Saskatoon July 2004
28
The Experience Factory Approach
Enter the password to open this PDF file:
File name:
-
File size:
-
Title:
-
Author:
-
Subject:
-
Keywords:
-
Creation Date:
-
Modification Date:
-
Creator:
-
PDF Producer:
-
PDF Version:
-
Page Count:
-
Preparing document for printing…
0%
Σχόλια 0
Συνδεθείτε για να κοινοποιήσετε σχόλιο