STRAYER UNIVERSITY
A STUDY ON THE IMPLEMENTATION OF SEMANTIC WIKI-BASED KNOWLEDGE
MANAGEMENT SYSTEM FOR APPLICATION SERVICE PROVIDERS (ASP'S) IN
MANAGING SOFTWARE ARTIFACTS
A DIRECTED RESEARCH PROJECT SUBMITTED TO THE FACULTY
OF THE GRADUATE SCHOOL OF INFORMATION SYSTEMS
IN PARTIAL FULFILLMENT OF THE REQUIREMENTS
FOR THE DEGREE OF MASTERS OF SCIENCE IN INFORMATION SYSTEMS
SUBMITTED TO
DR. DEBORAH HARRIS-SIMS
BY
ADELMAR R. ESPLANA
CHESAPEAKE CAMPUS
JUNE 2009
Semantic Wiki ii
ABSTRACT
The inability of knowledge workers to locate valuable information when needed is not
because of an absence of tools, but because the different tools available are not integrated. The
purpose of this study was to determine how semantic wikis can be used by ASPs as an
alternative knowledge management solution for managing software artifacts. Qualitative data
taken from secondary sources was used in conducting the analysis of this study. The researcher
compared solutions, identified challenges, evaluated the semantic wiki solution, and presented
other studies on the issue. Semantic wikis offer the most functionalities and flexibilities relative
to other solutions for effective and efficient information sharing. It is also the most practical and
promising solution to support the information sharing requirements of ASPs.
Semantic Wiki iii
ACKNOWLEDGEMENTS
―At times our own light goes out and is rekindled by a spark from another person. Each of us
has cause to think with deep gratitude of those who have lighted the flame within us." —Albert
Schweitzer
This project is dedicated to my family and friends who have always encouraged me to do my
best with all of my academic endeavors. This accomplishment would have been impossible
without the unwavering support, emotionally, physically, mentally, and financially, of my wife,
Bing. I am grateful for your love and devotion and proud to share my life journey with you.
My sincere thanks go to my thesis adviser, Dr. Deborah Harris Sims, for her input, guidance,
patience, and encouragement, especially when I was considering dropping this class. I would
like to express my appreciation to my colleagues and friends at work for the support that they
have provided me throughout this program. I would like to express my thanks to all my friends
in church for their prayers and for helping my family while I was studying. I offer special thanks
to Jennifer Alluisi for shepherding sentences gone astray. I also acknowledge my brother Elmer
Esplana and his wife Arlene Esplana for sharing their time and expertise in reviewing my work.
Finally, I would like to give glory and honor to my Lord Jesus Christ for everything.
Semantic Wiki iv
TABLE OF CONTENTS
ABSTRACT .................................................................................................................................... ii
ACKNOWLEDGEMENTS ........................................................................................................... iii
TABLE OF CONTENTS ............................................................................................................... iv
CHAPTER 1 ................................................................................................................................... 1
Background ................................................................................................................................. 1
Context of the Problem ............................................................................................................... 6
Statement of the Problem ............................................................................................................ 7
Research Questions ..................................................................................................................... 8
Significance of the Study ............................................................................................................. 9
Objectives of the Study .............................................................................................................. 10
Research Design and Methodology .......................................................................................... 11
Organization of the Study ......................................................................................................... 11
Definition of Terms ................................................................................................................... 13
CHAPTER 2 ................................................................................................................................. 17
Introduction............................................................................................................................... 17
On Knowledge ........................................................................................................................... 18
On Knowledge Management ..................................................................................................... 20
On Knowledge Sharing ............................................................................................................. 21
On Application Service Providers ............................................................................................ 30
On Software Documentation ..................................................................................................... 32
On Software Artifacts ................................................................................................................ 33
On Managing Software Artifacts .............................................................................................. 33
On Wiki ..................................................................................................................................... 41
On the Semantic Web ................................................................................................................ 43
On the Semantic Wiki ................................................................................................................ 48
On the Implementation of Semantic Wiki-based Knowledge Management Systems ................ 49
CHAPTER 3 ................................................................................................................................. 52
Introduction............................................................................................................................... 52
Research Methodology.............................................................................................................. 53
Assumptions and Limitations .................................................................................................... 53
Requirements of Information Sharing ....................................................................................... 54
Conclusion ................................................................................................................................ 70
Semantic Wiki v
CHAPTER 4 ................................................................................................................................. 72
Introduction............................................................................................................................... 72
Semantic Wiki Knowledge-sharing Support in Managing Software Artifacts .......................... 72
Conclusion ................................................................................................................................ 89
CHAPTER 5 ................................................................................................................................. 91
Introduction............................................................................................................................... 91
Requirements of Software Artifacts Documentation ................................................................. 91
Conclusion .............................................................................................................................. 100
CHAPTER 6 ............................................................................................................................... 102
Introduction............................................................................................................................. 102
Summary ................................................................................................................................. 103
Conclusion and Recommendations ......................................................................................... 106
REFERENCES ........................................................................................................................... 110
List of Tables .............................................................................................................................. 116
List of Figures ............................................................................................................................. 117
Appendix A – Conversational Technologies .............................................................................. 118
Semantic Wiki 1
CHAPTER 1
Introduction
Background
In the global economy, understanding the competitive advantage of the company is
crucial in the success of any business. Competition drives companies to find ways on how to
minimize cost and maximize profit. Strategically, they concentrate on their core competencies,
while relying on other companies to provide services for which their company had no expertise.
Business Process Outsourcing (BPO) is the hiring of third party sources to handle other business
activities (Bobsguide.com, n.d.). Conversely, the emergence of Application Service Providers
(ASPs) changed the process of software distribution from typical off-the-shelf product to
―Software as a Service‖. In the ASP model, computer-based services are offered by providers to
their customers over the network to take advantage of the provider’s competitive advantage in
terms of better resources, systems support and maintenance schedules which include regular
hardware and software upgrades. Software resides on the vendor’s server(s), and customers’
users access the applications through a direct connection to the provider’s server(s). The
software vendor provides the updates to the software (unless the software is customized) via the
internet from a quarterly to an annual basis arrangement. ASPs are broken down into four
subcategories: a) Enterprise ASPs, which deliver high-end business applications; b)
Local/Regional ASPs, which supply a wide variety of application services for smaller businesses
in the local area; c) Specialized ASPs, which provide applications for a specific need, such as
website services or human resources; d) Vertical Market ASPs, which provide support to a
specific industry, e.g., the real estate industry (Lo, 2003).
Semantic Wiki 2
Industries, as in the case of pharmaceutical industry, are benefiting from this trend and
new developments. Speaker Program is an innovative approach to reach and influence
clinicians. It usually occurs at restaurants, offices of medical institutions, and other alternative
venue for presentation where company-trained speakers deliver a presentation about specific
drugs. Effective speaker management programs help strengthen the relationship between
physician and sales representatives (commonly referred to as Reps). In fact, this program is now
used as one of the primary channels by many of the most highly respected pharmaceutical
companies to educate the medical community about disease status and their companies newly-
released pharmaceutical products. To maximize the highest return on investment (ROI) for this
kind of program, the program must be properly managed as integrated systems and processes.
Process automation requires the understanding of the client’s meeting policies and overall
business rules. Solution providers have to understand how their business process operates from
planning to execution.
The ASP Model is very compelling in that one company provides software framework to
multiple customers. In the case of Vertical ASPs specialized in a certain niche market, (e.g.
pharmaceutical industries), they are utilizing the provider’s expertise solution for their need.
Depending on the type of ASP provider and the service agreement with their clients, there are
ASPs who provide customization solutions on top of their base framework. Basic web
customization is normally at the interface level, which can be individualized either automatically
or explicitly by user. Customization may also be at the database level, which enables user
information to be stored for presentation or referral at a later time. An extensive customization is
one in which each customer is treated individually. Each client uses a shared framework, while
customization happens on a client basis. For instance, if the provider has three clients, each
Semantic Wiki 3
client has its own web application. Each web application uses the same common framework
which is shared among clients. If there is a customization need, assessment of the change
request will be identified prior to the modification to determine the areas affected. Change
requests may require framework change or just client code change.
During the life cycle of the application, when there is a requirement to change the
functionality of the existing feature, software engineers often need to identify the software
artifacts relevant to the change request. Assessing software artifacts is not an easy task, due to
the fact that many software projects have various versions, and often requirement documents are
not updated. On some occasions, documents reside on different files and emails, and for this
reason finding the current functionality is extremely hard without reading the code. Some
companies are using repository solutions like Subversion (SVN) and CVS (Concurrent Version
System) because they are excellent open source version control systems, and are also available
for free. SVN and CVS can operate across networks, which allow it to be used by people on
different computers. At some level, the ability for various people to modify and manage the
same set of data from their respective locations fosters collaboration. Subversion manages files
and directories and the changes made to them over time. Using SVN, work is versioned and there
is no need to fear if some incorrect change is made to the data. If an incorrect change does
occur, there is always a way to recover older versions of data and to examine the history of how
data is changed (Sussman, Fitzpatrick, & Pilato, 2005).
The discovery of software artifacts (files, documents, and datasets) relevant to change
requests can increase software reuse and reduce the cost of software development and
maintenance; however, traditional search techniques implemented by repository solution failed
to provide relevant documents because they do not consider relationships between software
Semantic Wiki 4
artifacts (Lindvall, Feldmann, Karabatis, Chen, & Janeja, 2009). The failure of the company in
the area of managing software artifacts may cause project slippage and costs overspend. One
study showed that the inability to provide an accurate assessment of the cost may result in an
actual cost three times higher than the originally predicted amount (Lindvall, Feldmann,
Karabatis, Chen, & Janeja, 2009). Software estimation is not very straight forward (there could
be several obstacles in the way of finding the relevant artifacts), especially if the one who is
doing the assessment is not familiar with the software project evolution and framework.
Software documentation is an invaluable asset. It plays a very important role in the
realization of software development milestone. Without proper form of documentation, the
effort of producing a concrete product is difficult, if not impossible. Creating software is a
complex task: most of the time, the effort spent understanding requirements and specifications
alone are higher compared to the time spent building the actual product. Good software
documentation produces multiple views of the system (static, dynamic, external and internal) and
provides different levels of abstraction (architecture, design and implementation). Software
documents are typically mixtures of different notations such as text, code, models and images.
Therefore, a good documentation must be able to provide static and dynamic content in a
medium that is easier to change and to find.
Central documentation practices often cause many problems for software developers and
for project managers as well. In general, the main challenge is to keep the information up-to-date
while change occurs. In addition, especially in large distributed projects with overlapping
responsibilities, information quickly gets redundant and inconsistent. For this reason, an
enterprise knowledge management is critical for the knowledge creation and in the leveraging of
knowledge. Knowledge management is the systemic and organizationally specified process for
Semantic Wiki 5
acquiring, organizing, and communicating knowledge of employees so that other employees may
make use of it to be more effective and productive in their work (Alavi & Leidner, 1999).
In an ASP environment, there are people who are called Subject Matter Experts (SMEs)
in specific aspects of the business. It means that an individual proficient in information and
procedures is ―silo’d‖ (isolated) with them. In other words, the information often confined to
SMEs are normally invisible to other people. If the person who is expert in a specific area were
to leave the company, the sought-after knowledge which he/she holds could be a detrimental loss
to the company’s operation. A survey of European firms by KPMG (Klynveld Peat Marwick
Goerdeler) (1998) found that almost half of the companies that have experienced the lost of
SMEs have reportedly suffered from a significant setback due to the loss of the key staff. About
43 percent have lost regular clients or have experienced problems in terms of supplier relations.
Thirteen percent suffered from loss of income because of the departure of a single employee or
SME (p.7).
Even though many organizations are aware that knowledge is a primary asset, still many
companies have difficulty in defining processes for sharing knowledge and creating the systems
to facilitate the sharing of information. In the KPMG 1998 survey, results showed that the
barriers to effective implementation of knowledge management include; 1) lack of time to share
knowledge (49%); 2) lack of skill in knowledge management (49%); 3) lack of understanding
(40%); and 5) lack of appropriate technology (26%) (p.16). However, in some companies’
current situations, over half of respondents said that there are people who wanted to share
knowledge, but did not have the time. Only 16 percent of the respondents said that they are
unwilling to share knowledge (p.16). On the other hand, 18 percent said that they did not want to
share best practices to other people (p.17). Part of the problem might be due to ―information
Semantic Wiki 6
overload‖ (p.16). About 14 percent complained that there was too much knowledge (p.16).
Knowledge sharing permits the creative recombination of knowledge which can promote
knowledge growth and enable the development of solution for the complex business problems
(Lo, 2003). The knowledge management system can provide a great benefit in developing and
maintaining processes easily and reliably. It can also help organizations to maintain their access
to domain knowledge and to unlock information silos. The benefit of a successful knowledge
management include: 1) better decision-making; 2) faster response time to key issues; 3)an
increase in profit; 4) improved productivity; 5) the creation of new/additional business
opportunities; 6) reduction of costs; 7) the sharing of best practices between each other or within
the company; 8) an increase market share; 9)an increased share price and 10) better staff
attraction/retention (KPMG Management Consulting, 1998).
Context of the Problem
As more and more companies are moving toward Business Process Outsourcing for their
IT needs, information sharing and knowledge management are crucial areas that ASP providers
must be aware of. Based on the survey conducted by Filemaker International (2007) on over
100 people responsible for IT management within UK businesses with 250 employees or less,
around 64 percent of the respondents believed that silo mentality had something to do with how
information is created and used. Interestingly, as the company increases their need to outsource
their IT skills and needs requirement, silo mentality also dramatically increases (File Maker,
2007).
In ASP environments, employees are commonly given task investigating a problem. This
is not a trivial task, especially if one is familiar with all of the facets of the system. There are
times when an SME’s expertise is needed but SMEs are not always available. Therefore, the best
Semantic Wiki 7
hope is to find the written documentation. However, due to various reasons (i.e., lack of
commitment to knowledge sharing, lack of time to update documents, and lack of conducive
tools for knowledge sharing), documents are outdated. There are also instances where updated
documents are within the SME’s computer hard drive and emails. Because of this, the necessary
documents cannot be found.
Ideally, enterprise’s digitized information, regardless whether it is stored on individual
hard drives, email and in personal files, should be searchable as long as employees are willing to
share the information. File sharing, a practice of sharing computer files over a network, has
been around since the advent of local area networking. However, finding unstructured
information is quite exigent. Because unstructured information is only implicit, in order for the
computer program to understand the meaning, it requires some degree of analysis to clarify the
document's semantics. Given that situation, it would be helpful if: a) the information were stored
in a shared location using a knowledge management system; b) the information silo between
different applications could be resolved; c) there were an intelligent search engine smart enough
to link directly to the right document
Statement of the Problem
The inability to locate valuable information when needed is one of the most common
issues that knowledge workers are facing today. Based on the studies done in the 2001,
knowledge workers spend 15- 25% (1-2 hrs) of time hunting for information, while 60 percent of
employees spend more than an hour per day duplicating the work of others (O’Brien, Bernoff,
Sorley, & Flemming, 2001). In today’s economy, knowledge is priceless. But how does is
knowledge really valued and protected? More than 80 percent of enterprise's digitized
information resides in individual hard drives and in personal files. As a result, employees get
Semantic Wiki 8
50%-75% of their relevant information directly from other people (Philips, 2007). What will
happen if the person who holds the information is gone? Sadly, most of the relevant information
will definitely vanish the moment the person in charge of the information leaves the company.
The issues that knowledge workers are facing today are not because of the absence of
tools, but because the different tools are not integrated. In the attempt to take advantage the
benefits of knowledge management, corporations have deployed different types of solutions.
Unfortunately, many of these knowledge management implementations have failed because of
the focus on technology rather than on creating an atmosphere conducive to knowledge capture
and sharing (Gonzales, 2005). Application silo is generally a common issue that many
researchers have attempted to solve, particularly in the area of knowledge management. There
are a handful of solutions that have been developed and implemented by different organizations.
But, in spite of those solutions, a lot of knowledge management implementations are still ―silo‖
in nature. In addition, the problem is that maintenance of silo applications now consumes more
than 70 percent of the IT budget (Davis, 2006).
In this study, the researcher investigated a knowledge management solution that has an
intelligent engine, capable of self-learning and self-adapting to today’s requirement of
information sharing. Like a genie on the desktop, this engine is so powerful, it is capable of
pushing information required by the user, while at the same time capable of pulling information
that may be of interest to others.
Research Questions
The purpose of this study is to determine the following: How can Semantic Wiki be used
to share domain knowledge, and used to be able to create, search, navigate, collaborate and
manage software artifacts?
Semantic Wiki 9
To answer this question, the following sub questions were addressed:
1) What makes semantic wiki-based knowledge management system a good solution for the
information sharing requirements of Application Service Providers?
2) How can the semantic wiki be leveraged as a solution for knowledge
management/knowledge-sharing in managing software artifacts?
3) What are the requirements of software artifacts documentation and how can semantic
wiki address those requirements?
Significance of the Study
This study looked into the dynamics of the solution being provided by semantic wiki-
based knowledge management system for application service providers in managing software
artifacts. This study serves as the baseline information for ASP companies and IT departments
that are in the software solution (programmers, software architect, software engineer, etc.) for
them to know the important features and capabilities of semantic wiki-based knowledge
management system as compared to the other widely used knowledge management system for
software artifacts. The information which could be derived from the analysis of this study could
help the IT managers and company executives in the information technology companies to
understand the differences of semantic wiki-based knowledge management system and the
earlier system used by ASP companies in documenting software artifacts. Readers of this study
will also be updated on the trends and developments in the knowledge management system being
used by the different ASP companies.
The output of this study could also be beneficial to new knowledge management system
development practitioners. It would enable them to find other potential fields or areas of
expertise in the wiki-based knowledge management, which would improve or upgrade their
Semantic Wiki 10
skills for a semantic wiki-based knowledge management system capability and also for
technological advancement. Finally, the results of this study could help anyone in the IT
industry, particularly those in the government, private sector and industry associations, to know
the potential benefit of semantic wiki-based knowledge management system for their IT strategic
planning, production, marketing and other IT-based business–related decisions.
Objectives of the Study
The main objective of this study is to analyze the solution for a semantic wiki-based
knowledge management system for the Application Service Providers (ASPs) in managing
software artifacts.
This study specifically aims to:
1) Help Application Service Providers understand the capability of Semantic Wiki as a
knowledge management solution for managing software artifacts;
2) Serve as baseline information for ASP companies and IT departments that are in the
software solution (programmers, software architect, software engineer, etc.);
3) Encourage more people in IT profession to participate and go into semantic wiki-based
knowledge management systems development and semantic wiki-based solutions and
innovations;
4) Promote knowledge sharing among practitioners;
5) Advocate for the utilization of semantic wiki-based knowledge management system for
ASPs in managing software artifacts;
6) Help the different software development teams understand the different ways on how
semantic wiki can be used for sharing common knowledge; and
Semantic Wiki 11
7) Give recommendations on how the result of the study will be used to support the
implementation of Semantic Wiki-based knowledge management system for the
Application Service Providers (ASP’s) in managing software artifacts.
Research Design and Methodology
The research methodology used for this study of a qualitative nature and was obtained
from secondary sources. Sources pertinent to the main research question and three defining sub-
questions, which formulated this research project, were sought. Descriptive and comparative
analyses to answer the main search question and three defining sub-questions were analyzed.
Secondary research information was obtained from primary research sources, including scholarly
books; conference proceedings, peer-reviewed journals; unpublished research papers; any data
that has been published by private or nonprofit organizations (this includes not for profit
organizations) and information available from a college, university, or trade school. Essentially,
any information available in the public domain may be analyzed either in a verbal format to
arrive at a research conclusion.
Organization of the Study
This research project is divided into the following six chapters: The first chapter of this
study serves as an introduction to the research topic. A presentation of the problem to be
addressed is provided in addition to a contextual background and statement of the problem. The
main research question is has three related sub-questions and an overview of the significance of
the study. Lastly, an explanation of the research methodology is provided to show how the main
research question is to be addressed in the study. The second chapter is a thorough review of
more than 20 sources associated with the subject matters of knowledge, knowledge management,
knowledge sharing, knowledge management system, application service provider, software
Semantic Wiki 12
documentation, software artifacts, managing software artifacts, wiki, semantic web and semantic
wiki. Chapter 3 will seek to answer why a semantic wiki-based knowledge management system
is a good solution for the information sharing requirements of Application Service Providers.
Chapter 4 will evaluate how leverage semantic wiki can be leveraged as solution for knowledge
management in managing software artifacts. Chapter 5 will seek to answer what are the
requirements of software artifacts documentation and how can semantic wiki address those
requirements. Chapter 6 will discuss the summary of the study and the conclusion, which will be
derived from the results and analysis of the researcher. The study will provide recommendations
on how the result of the study will be used to support the implementation of Semantic Wiki-
based knowledge management system for Application Service Providers (ASPs) in managing
software artifacts.
Semantic Wiki 13
Definition of Terms
Semantic search, used to improve online searching by using data from semantic networks to
disambiguate queries and web text in order to generate more relevant results.
Context-based search, the application uses context data that is generated by a document
analysis component based upon context information from various sources, including for
example, document collections available on the web. The context data is provided to a search
query generator. The search query generator is configured to generate a contextually annotated
search query based upon a user query and context data.
Context-based navigation, user context can be used to support the user while he/she is
navigating through the information system. Navigation consists in going from one document to
the other, such as the Web navigation. These relations enhance navigation by giving easy access
to relevant related information.
Content Analysis, making content ―machine-understandable" is a popular paraphrase of the
fundamental prerequisite for the Semantic Web, basically: content (of whatever type of media) is
machine-understand-able if it is bound (attached, pointing, etc.) to some formal description of
itself (often referred to as metadata). Ideally, adding semantics to content" in this sense should be
achieved through algorithmic content analysis and/or algorithmic learning processes.
Copy-modify-merge model, in this model, each user's client contacts the project repository and
creates a personal working copy—a local reflection of the repository's files and directories.
Full text search, in a full text search, the search engine examines all of the words in every stored
document as it tries to match search words supplied by the user.
Software design patterns are recurring solutions to software design problems that we find again
and again in real-world application development. Patterns are about design and interaction of
Semantic Wiki 14
objects, as well as providing a communication platform concerning elegant, reusable solutions to
commonly encountered programming challenges (Do Factory, n.d.). Software pattern
implementation is an artifact that greatly facilitates the application (File Maker, 2007)of a pattern
in a particular environment; it provides a realized solution to real problems, and makes patterns
sharable and reusable. After they are implemented, these patterns become concrete software
artifacts (IBM, n.d.).
A knowledge worker in today's workforce is an individual that is valued for their ability to
interpret information within a specific subject area. They will often advance the overall
understanding of that subject through focused analysis, design and/or development. They use
research skills to define problems and to identify alternatives. Fueled by their expertise and
insight, they work to solve those problems, in an effort to influence company decisions, priorities
and strategies.
Personalization and Context, the way information is accessed can be optimized by taking into
consideration the personal profile of the users and the context of the activities currently being
carried out.
RSS or Really Simple Syndication is a useful tool for keeping updated on your favorite
websites. RSS makes use of an XML code that constantly scans the content of a website for
updates and then broadcasts those updates to all subscribers through a feed.
RSS feeds are typically used with news sites or blogs, although any website can use them
to disseminate information. When an update is sent out, it includes a headline and a small
amount of text, either a summary or the lead-in to the larger story. You will need to click a link
to read more. In order to receive RSS feeds, you must have an aggregator, a feed reader. There
are a number of aggregators online, many of them free, so with a little bit of searching, you
Semantic Wiki 15
should be able to find an interface that appeals to you. In addition to being available on your
computer, RSS feeds can also be read on PDAs and cell phones.
When you come across a website you would like to add to your aggregator, you can do so
in one of two ways. Most sites that offer an RSS feed have an "RSS" or "XML" button on their
homepage that you can click on and it will instantly add that feed to your aggregator. Depending
on your aggregator, you may instead need to copy and paste the URL of the feed into the
program.
A software framework is a re-usable design for a software system (or subsystem). A software
framework may include support programs, code libraries, a scripting language, or other software
to help develop and glue together the different components of a software project (Nation Master,
n.d.).
The semantic web has been called many things including Web 3.0, the Giant Global Graph,
Linked Data and the Smart Web. Simply explained, today's World Wide Web is built for
humans to read and semantic web developers are working towards a global system which is also
more machine readable, and which, in turn, will allow humans to reorganize and use online
information available far more effectively.
This will come about through using extra mark-up within HTML in the form of micro
formats and also using extra languages such as Resource Description Framework (RDF), Web
Ontology Language (OWL), and Extensible Markup Language (XML).
Unstructured information is contrasted with structured information. The canonical example of
structured information is the database table. Each element of information in the database is
associated with a precisely defined schema where each table column heading indicates its precise
Semantic Wiki 16
semantics, defining exactly how the information elements should be interpreted by a computer
program or end-user.
Semantic Wiki 17
CHAPTER 2
Review of Literature
Introduction
Organizational knowledge is now recognized as a key resource, and a variety of
perspectives suggest that the ability to marshal and deploy knowledge dispersed across the
organization is as an important source of organizational advantage (Tsai & Ghoshal, 1999;
Teece, 2000). Knowledge management initiatives in organizations are consequently becoming
increasingly more important and firms are making significant IT investments to deploy
knowledge management systems (KMS). The primary focus of many of these efforts has been
developing new applications of information technology such as data warehousing and document
repositories linked to search engines to support the digital capture, storage, retrieval and
distribution of an organization's explicitly documented knowledge (Hahn & Subramani, 2000).
To be able to provide solution that can support the requirements of today’s information
sharing, it is imperative that we review the previous work done in the field. A philosophical
adage which is popular in software development says, ―Don't develop software in a vacuum,‖
generally meaning not to go off and write code in the absence of customer feedback. What this
means to current researchers is that, to be able to develop a solution that will be usable and well-
fitted to an organization’s needs, we must understand their needs and consider them as a guiding
light in finding the right solution.
In this chapter, the researcher will review past work on the subjects of Knowledge,
Knowledge Management, Knowledge Management Systems, Knowledge Sharing, Wiki,
Semantic Web and Semantic Wiki, Implementation of Semantic Wiki-based Knowledge
Semantic Wiki 18
Management Systems, Application Software Providers, Software Artifacts, and Managing
Software Artifacts. The researcher will seek to answer questions such as: a) Why is Knowledge
Management important? b) What makes a successful Knowledge Management System? c)
What are the contributing factors of successful knowledge sharing? d) What makes Wiki a
promising solution for knowledge management? e) Why do we need Semantic Web? f) What is
the Semantic Web not?
On Knowledge
Knowledge is a complex concept, and a number of factors determine the nature of
knowledge creation, management, and sharing (Nonaka, 1994). Knowledge could be defined as
information that has been combined with experience, context, interpretation, and reflection
(Davenport, De Long, & Beers, 1997). Prior research suggests the existence of different types of
knowledge. Knowledge can be either tacit or explicit (Polanyi, 1967). This attribute is also
expressed as the distinction between knowing and knowledge (Brown & Duquid, 1991). A key
idea is that some knowledge is tacit (i.e., internalized), and other knowledge is explicit. Western
philosophy is described as having struggled to understand whether knowledge is based on what
we experience (empiricism) or inherent truths (rationalism) and therefore to have focused more
on explicit knowledge. Japanese thought has tended to treat tacit knowledge as more important
(but it has not really addressed epistemology as a philosophical tradition). Peter Drucker (1993)
says, a skill ―could not be explained in words, whether spoken or written. It could only be
demonstrated‖ and, ―the only way to learn a techne [skill, in Greek] was through apprenticeship
and experience.‖
Nonaka and Takeuchi (1995) describe differences in how Westerners and Japanese often
view knowledge. They espouse that the Japanese view knowledge as being primarily tacit,
Semantic Wiki 19
something not easily seen or expressible. Western culture has a strong focus on explicit
knowledge, which can be expressed in words and numbers and is more easily communicated
than tacit knowledge. They describe the contrast between these perceptions on knowledge as
being rooted in culture. In the Western culture, there has been a long history of separating
knowledge from the knower, whereas this is not the situation in Japanese traditions. Nonaka and
Takeuchi (1995) adopted a traditional definition of knowledge as ―justified personal belief.‖
Belief is critical to this concept of knowledge because it is closely tied to an individual’s or
group’s values and beliefs. Knowledge originates, from this perspective, in the minds and bodies
of individuals. Very important to the concept of knowledge is that of knowing. Knowing and
learning capture the dynamic aspects of knowledge. A knower, one who knows, can be said to
possess ―actionable knowledge.‖ Miller and Morris (1999) suggest that knowledge is gained
when theory, information, and experience are integrated.
Further, knowledge can be conceived of as existing at multiple levels—not only at the
individual level but also at the group and organizational levels. Organizational knowledge is
created through cycles of combination, internalization, socialization, and externalization that
transform knowledge between tacit and explicit modes (Nonaka, 1994). In light of this dynamic
process of knowledge creation, linkages between individuals and groups sharing similar tasks—
the communities of practice (Brown & Duquid, 1991)—play an important role in communicating
and sharing knowledge. However, communities have their own unique and context-specific
vocabularies that, while facilitating knowledge exchange within the community, impede
communication between them. The overlapping of understanding provided by boundary objects
spanning multiple communities (Borland & Tenkasi, 1995) provides a basis for communicating,
sharing, resolving, and combining disparate perspectives. These issues thus have an important
Semantic Wiki 20
bearing on the choice of KMS to accomplish the access and deployment of knowledge in
different contexts.
It is easily agreed upon that knowledge is complex and those two types of knowledge
must be addressed differently. There is no one solution that fits every problem, and the study of
primary concern is on the explicit side of knowledge. Software engineering is an art and science.
It is a lot less like other kinds of engineering than most people think. There is an aspect of art,
which you can only gain by experience outside of the classroom. On the other hand, that does
not mean that relying on experience alone is sufficient. According to Steve McConnell (2004),
the issue of cost and schedule overruns by doing code-and-fix development is not the result of
software engineering calculation but of too little education and training in software engineering
practices. Therefore, to synthesize tacit and explicit software engineering knowledge, education
and experience must be combined (Steve, 2004).
On Knowledge Management
Knowledge management is the systemic and organizationally specified process for
acquiring, organizing, and communicating knowledge of employees so that other employees may
make use of it to be more effective and productive in their work (Alavi & Leidner, 1999).
Knowledge management involves the panoply of procedures and techniques used to get the most
from an organization’s tacit and codified know-how (Teece, 2000). While defined in many
different ways, knowledge management generally refers to how organizations create, retain, and
share knowledge (Argote, 1999).
The definition of Argote (1999) on Knowledge Management is simpler than many others.
However, the end results of Knowledge Management mentioned by Alavi and Leidner (1999) are
what really matters. ―It's a means to an end‖, the ―means‖ being process and techniques
Semantic Wiki 21
(mentioned by Teece) and the need for these to be done in order to achieve goals (the ―end‖) is
what Alavi and Leidner (1999) pointed out. In knowledge management, it is important that we
understand the end results or we will end up managing things that are not viable for the
company.
On Knowledge Sharing
Enterprise knowledge sharing can occur in many forms. Enterprise knowledge sharing is
often described in the literature as critical to the performance of knowledge creation and
leveraging knowledge (Von Krogh, Ichijo, & Nonaka, 2000). Ives et al. (2003) described
knowledge sharing as a human behavior that must be examined in the context of human
performance. Human performance is described as a complex activity that is influenced by many
factors. They describe a human performance model that includes the business context and
organizational and individual factors. Organizational performance factors include: structure and
roles, processes, culture, and physical environment. Individual performance factors include:
direction, measurement, means, ability, and motivation.
What are the contributing factors of successful knowledge sharing?
Jeffery Cummings (2003) identified five primary contexts that can affect successful
knowledge-sharing implementations: a) the relationship between the source and the recipient; b)
the form and location of the knowledge; c) the recipient’s learning predisposition; d) the source’s
knowledge-sharing capability; and e) the broader environment in which the sharing occurs
(Cummings, 2003).
According to Small & Sage (2005), there are inter-related factors for knowledge sharing
that must work together to become effective:
Semantic Wiki 22
1) Business Context: Employees are more likely to share knowledge if the behavior is linked
to business goals.
2) Organizational Structure and Roles: Supporting knowledge sharing is encouraged by means
of a two-part organizational structure: 1) a dedicated KM staff who owns the knowledge
processes, templates, and technologies; and 2) knowledge sponsors and integrators from the
business units who ―own‖ the knowledge content.
3) Organizational Processes: Knowledge processes need to be built into the daily work
process, and well-defined knowledge capture processes should exist. Knowledge processes
should depend on the type and level of knowledge.
4) Organizational Culture: In addition to stressing the importance of organizational culture to
Knowledge-Sharing (KnS) behavior, the authors also emphasize the importance of
understanding the cultural differences between individual knowledge workers. Steps to
achieving a KnS culture include setting KnS priorities, strong KnS leadership, KnS
investment support, and modeling by senior leadership (i.e., visible advocacy of KnS
behavior).
5) Physical Environment: Many organizations are beginning to recognize the need to create
environments (e.g., quiet space, informal environments, relaxed physical environments
enhanced by technology) that are appropriate for knowledge sharing.
6) Direction: Knowledge sharing is a new behavior to many organizations, so guidance is
needed to achieve enhanced value. Guidance for knowledge sharing is therefore needed in
terms of the contextual awareness abstractions of what to share, when to share, and how to
share, as well as why share, what to share, and with whom to share. Guidance of this sort
Semantic Wiki 23
that is given in the context of the daily work processes is especially useful to knowledge
workers.
7) Measurement: Human performance measurement is becoming increasingly more important
as knowledge-based organizations begin to recognize that the organization’s greatest
resource is comprised of its people. The authors describe how a KnS proficiency has been
established and measured at their company. KnS expectations are communicated and
translated into actions that can be documented in a performance review. Individual and
team KnS metrics provide definition to KnS behavior and communicate that the
organization places a value on it. Documenting the mission impact (outcome metrics) of
KnS behavior is important to obtaining and keeping senior leadership support.
8) Means: Effective enterprise knowledge sharing cannot be done without information
technology (IT). The existing knowledge management infrastructure (i.e., e-mail, internet,
intranet, groupware, and web technologies) can be extended to support KnS processes.
Videoconferencing, application sharing, and electronic meeting support are KnS enablers.
Many organizations focus on the IT component of knowledge sharing because it is the most
tangible; however, it is important to provide the means to accomplish this within the
context of the various organizational performance attributes.
9) Ability: KnS behavior within a corporate environment needs ongoing support and training.
It is important to coordinate or integrate KnS training with the entire array of training
initiatives. Knowledge workers need training prior to job performance, knowledge support
during job execution, and time to reflect on lessons learned to improve individual learning
and to contribute to organizational learning.
Semantic Wiki 24
10) Motivation: There are individual and cultural differences that drive KnS behavior.
Knowledge sharing is best supported by intrinsic rewards (e.g., saving work time,
participating in useful and interesting dialog, or professional pride in being recognized as
an expert). External rewards must be selected carefully because what motivates in one
organization may be a barrier in another. The importance of employee care and trust is also
emphasized. KnS motivation factors cited include: being a normal part of the job, being
related to career growth, receiving thanks and recognition, knowing how others used their
contributions, and knowing it is expected behavior.
In this research, it is important to understand that technology alone is not enough solution
to address the issues and challenges of knowledge sharing. As stated by Small & Sage (2005),
all of the inter-related factors are necessary to work together as one. Conversely, since this
research is geared towards technology, our assumption is that prior to the implementation,
everything mentioned above must happened first. To narrow down the scope of our study, the
researcher decided to only focus on Application Service Provider context in managing software
artifacts. It is true that the body of knowledge is different depending on the context. In his four
years of experience working as Software Engineer for Application Service Provider company,
He can attest that the communication languages of technical and business people are different,
and the experience he gained by working with them throughout the years helped him to become
familiar with their language. Therefore, it is important to set common understanding on certain
terms in addition to a well-crafted knowledge management solution that caters to both technical
and business people independently based on their context and needs.
Semantic Wiki 25
On Knowledge Management Systems
Knowledge management systems (KMS) are tools to effect the management of
knowledge and are manifested in a variety of implementations (Davenport & De Long, 1998)
including document repositories, expertise databases, discussion lists, and context-specific
retrieval systems incorporating collaborative filtering technologies. Document repositories
store many types of documents, allowing them to be used for a wide range of purposes such as
a media repository, a document (file) repository, or an article repository. Collaborative filtering
technology enables users to view information about others’ opinions, usually presented in the
form of ratings. Through the use of various algorithms, collaborative filtering technology
compiles data about users of a variety of websites (e.g., Digg.com, del.icio.us, Flickr, Last.fm) to
help other users predict the utility of the products or services displayed on that site. User ratings,
recommendations, and tags are compiled and presented to (often similar) other users to whom
the information may be relevant (Sundar, Oeldorf-Hirsch, & Xu, 2008).
A context-specific document recommender system retrieves documents from a
knowledge repository that are relevant to the task-at-hand. A content-based context specific
document recommender can be embedded in e-mail systems or workflow systems, and retrieves
relevant documents by matching contextual information from task descriptions or e-mail
messages. However, unlike a search engine, which can be used for exploratory search, a context
specific document recommender system needs to recommend only a few highly relevant
documents, thereby preventing information overload (Sarnikar & Zhao, n.d.).
Why is knowledge management important?
The knowledge-based theory of the firm suggests that knowledge is the organizational
asset that enables sustainable competitive advantage in hyper-competitive environments. The
Semantic Wiki 26
emphasis on knowledge in today’s organizations is based on the assumption that barriers to the
transfer and replication of knowledge endow it with strategic importance (Alavi & Leidner,
1999). Knowledge management systems can provide a great benefit in developing and
maintaining processes easily and reliably. It can also help organizations to maintain their access
to domain knowledge and unlock information silos. The benefits of successful knowledge
management include: 1) better decision-making; 2) faster response time to key issues; 3) increase
in profits; 4) improvements to productivity; 5) creation of new/additional business opportunities;
6) reduction of costs; 7) ability to share best practices among employees; 8) increased market
share; 9) increased share price; and 10) better staff attraction/retention (KPMG Management
Consulting, 1998).
What are the pitfalls of the Knowledge Management Initiative?
Based on previous studies, Gillingham and Roberts (2006) summarized the following
points that should be carefully considered in avoiding potential pitfalls of a knowledge
management initiative.
1) The key elements of people, process, and technology should be equally resourced in terms of
time and money.
2) There is a lack of trust and a need to encourage a culture of trust and openness. This is
especially difficult when the converse has been true in an organization.
3) The business is too busy; people have other priorities. It is important to embed knowledge
goals into company strategy and project planning so that it becomes acceptable for people to
have time and space to reflect and seek out knowledge. Giving people time to seek
knowledge now will halve the time needed to complete tasks later.
Semantic Wiki 27
4) There is intolerance for mistakes or asking for help. The organization culture should allow
for mistakes by accepting and rewarding creative errors and collaboration. Also, there
should be no loss of status from not knowing everything.
5) Do not attempt to implement everything at once. It is a long and iterative process, not a
quick fix, and the benefits are realized over a period of time.
6) If knowledge management is to thrive, organizations must create a set of roles and skills to
do the work of capturing, distributing, and using knowledge.
What makes a successful Knowledge Management System?
According to Davenport De Long (1997), there are four basic objectives of Knowledge
Management Projects which include:
1) Creating knowledge repositories: a) External knowledge, such as competitive intelligence; b)
Structured internal knowledge and information, such as research reports, product-oriented
marketing material, technical product information, and sales presentations; c) Informal
internal knowledge, such as discussion databases full of know-how and lessons learned; d)
Knowledge that resides in the minds of the people in an organization but has not been but in
structured, document-based form (also known as tacit).
2) Improve knowledge access and transfer: a) Build and manage expert networks; b) Develop
an infrastructure to facilitate access and transfer through videoconferencing, document
scanning, and sharing tools rather than extract from a repository; c) Institute formal practices
for knowledge transfer; d) Develop a knowledge transfer group.
3) Enhance Knowledge environment: a) Change the organizational norms and values related to
knowledge—encourage reuse; b) Make contributions to a knowledge base a factor in
compensation.
Semantic Wiki 28
4) Manage Knowledge as an asset: a) Treat knowledge like any other asset on the balance
sheet; b) Conduct an internal audit on intellectual capital and include in annual report to
stockholders; c) Focus on managing specific knowledge-intensive assets. Dow Chemical
saved $4 million on reviewing and managing patents by lowering taxes on patents that were
no longer useful.
Eight key factors of a successful knowledge management project
There are eight key factors of a successful knowledge management project according to
Davenport, De Long and Beers (1997). They are:
1) Link knowledge project to economic performance or industry value through illustrating
money saved or earned, or indirect costs like cycle time, customer satisfaction, phone calls
averted, or amount of knowledge reused.
2) Use a broad technical and organizational infrastructure. Most companies use multiple tools
(for example, Lotus Notes and web-based intranets). Also, use standardized personal
productivity tools to facilitate exchanging documents. Building an organizational
infrastructure means identifying a set of people who have skills to serve as resources, set
knowledge strategy, prioritize knowledge projects, etc.
3) Develop a standard, flexible knowledge structure. Create categories and key terms. Another
important issue is who controls decisions regarding the structure. One company referenced
in the text created a thesaurus of technical terms.
4) Create a knowledge-friendly culture where people have a positive orientation to knowledge.
People are not inhibited in sharing knowledge. Some people feel their knowledge is critical
to their value or maintaining their job. There is pressure to be creative and original.
Semantic Wiki 29
5) A clear purpose and language are particularly important for knowledge management. For
example, the terms knowledge, information, and organizational learning are subject to varied
meanings and interpretation. Successful projects in the text paid attention to this factor and
addressed it. Normal business language gives the impression of being fact-based, often
drawing on military and natural science metaphors, but knowledge management deals with
things like complexity and uncertainty.
6) Change in motivational practices. Knowledge does not emerge from or flow easily across
role or functional boundaries. Therefore, the motivation to create, share, and use knowledge
is a critical success factor
7) Provide multiple channels for knowledge transfer. Successful knowledge projects usually
address knowledge transfer though various channels, recognizing that each adds value in a
different way and that their synergy enhances use. For example, the organization should not
eliminate face to face meetings.
8) Senior management support. Support includes sending messages that knowledge is critical to
company’s success, providing funding and resources, and clarifying what types of knowledge
are important to the business.
The knowledge management objectives stated by Davenport et al. (1997) are invaluable
guidelines, and though he formulated them almost a decade ago, they are still applicable to
today’s requirements of knowledge management. He stated in the list to use broad technical and
organizational infrastructure. It is a reality that people had already developed preferences for
what applications they would like to use for various tasks.
However, the challenge facing today’s businesses is the issue of the information silo. A
lot of the data that we use everyday are not consolidated into one application. These data are in
Semantic Wiki 30
various silos, and reside in different software applications and different places that cannot be
connected easily. Therefore, the goal of this research is to investigate Semantic Web and
Semantic Web-emerging technologies pertaining to knowledge management. In summary,
implementing knowledge management is about bringing together people, skills, business
processes, and technology infrastructure including content management in order to exploit an
organization’s knowledge base.
On Application Service Providers
Application service providers (ASPs) ushered in a new paradigm of technology
outsourcing by making software services available to users via the internet/WAN on a pay-as-
you-go basis (Lo, 2003). In the ASP model, computer-based services are offered by providers
to their customers over the network to take advantage of the provider’s competitive advantage in
terms of better resources, systems support, and maintenance schedules, including regular
hardware and software upgrades. Software resides on the vendor’s server(s) and customers’
users access the applications through a direct connection to the provider’s server(s). The
software vendor provides the updates to the software (unless the software is customized) via the
internet on a quarterly to annual basis. ASPs are broken down into four subcategories: a)
Enterprise ASPs: they deliver high-end business applications; b) Local/Regional ASPs: they
supply a wide variety of application services for smaller businesses in the local area; c)
Specialized ASPs: they provide applications for a specific need like website services or human
resources; and d) Vertical Market ASPs: they provide support to a specific industry, e.g., the real
estate industry (Lo, 2003).
The ASP model is very compelling in that one company provides a solution to multiple
customers. In the case of Vertical ASPs, pharmaceutical industries are utilizing the provider’s
Semantic Wiki 31
expertise solution for their need. Depending on the type of ASP provider, a business may find
ASPs that provide customization solutions on top of their base framework. Basic web
customization is normally at the interface level, which can be individualized either automatically
or explicitly by the user. Customization may also be at the database level, enabling user
information to be stored for presentation or referral at a later time. An extensive customization is
the one where each customer is treated individually. Each client uses a shared framework, while
customization happens on a client basis. For instance, if the provider has three clients, each
client has its own web application. Each web application uses the same common framework
which is shared among clients. If there is a customization need, assessment of the change
request will be conducted prior to the modification to determine the areas affected. Change
requests may require framework change or just client code change.
Software projects in the ASP model utilize the concept of software framework reuse. For
each client, software engineers create requirements, design specifications, source code, data
schemes, and so forth. The experience they gain from each client and the acquired knowledge in
customizing the framework can be reused. However, knowledge reuse is challenging.
Software frameworks are a powerful reuse technique that enables ASP providers the
ability to reuse code and design implementation among clients. Frameworks that are utilizing
components and patterns are considered promising technology; however, to achieve the full
benefits of framework reuse advantage, first we have to invest time to understand the framework
and learn how to use it. Frameworks can be particularly hard for first-time users to understand,
especially if they are not accompanied by the appropriate documentation. Documentation helps
developers achieve the degree of understanding they need to reuse and to integrate artifacts
(Aquiar, David, & Padilha, 2003).
Semantic Wiki 32
On Software Documentation
Software developers are increasingly exploiting the web as a document management
system. However, the web has some limitations since it is not aware of the structure and
semantics associated with certain pieces of information (e.g., the fact that a document is a
requirement specification) and of the semantics of relationships between pieces of information
(e.g., the fact that a requirement specification document may be associated with a design
specification document) (Cattaneo, Nitto, Fuggetta, Lavazza, & Valetto, 2000). Documenting
software can be hard, expensive, and laborious, but in some ways it can be regarded as a
necessary evil; the benefits usually outweigh the costs. The process of documentation is not an
easy undertaking, for this reason, a good approach that is supported by the appropriate tools and
methodology is essential.
Software documentation is an invaluable asset. It plays a very important role in the
realization of software development milestone. Without the proper form of documentation,
producing a concrete product is difficult, if not impossible. Creating software is a complex task;
most of the time, the effort we spend understanding requirements and specifications alone is
more than the time we spent in building the actual product.
Good software documentation produces multiple views of the system (static, dynamic,
external, and internal) and provides different levels of abstraction (architecture, design, and
implementation). Software documents are typically mixtures of different notations such as text,
code, models, and images. Therefore, good documentation must be able to provide static and
dynamic content in a medium in which it is easy to change and to find content.
In research conducted by a team of Carnegie Mellon University Master of Software
Engineering (MSE) students on wiki in documenting framework architecture (Bachmann &
Semantic Wiki 33
Merson, 2005), it was found that using wiki as a collaborative tool for software architecture
documentation is promising, although they created a lot of workarounds to use the technology.
Because of this, organizations are hesitant to adapt to wiki-based approach solution. On the
other hand, the advantages that they gained by working collaboratively (at least in a small team)
to create architecture documentation seemed to outweigh those disadvantages.
On Software Artifacts
There are several different types of software artifacts, and they come in various forms
(e.g., text, code, model, images), different sources, and different platforms, using different
editors. Software artifacts are categorized as source code, models, and documentations. Source
code is the low-level internal documentation; models are specific-purpose representation of
software architecture and framework; and documents are higher-level of artifacts that pertain to
requirement documents, use case specifications, and reference manuals (Aquiar & David, 2005).
On Managing Software Artifacts
As mentioned in the problem statement, more than 80 percent of enterprise's digitized
information resides in individual hard drives and in personal files. With this in mind, software
artifacts must be stored in a shared location. Subversion (SVN) and Concurrent Version System
(CVS) are excellent open-source version control systems available for free. SVN can operate
across networks, which allows it to be used by people on different computers. At some level,
the ability for various people to modify and manage the same set of data from their respective
locations fosters collaboration. SVN manages files and directories, and the changes made to
them, over time. SVN work is versioned, and there is no need to fear if an incorrect change is
made to the data. If it happened, there is always a way to recover older versions of data and to
examine the history of how data is changed (Sussman, Fitzpatrick, & Pilato, 2005).
Semantic Wiki 34
Why is it important to manage software artifacts?
During the life cycle of the application, when there is a requirement to change the
functionality of an existing feature, software engineers often need to identify the software
artifacts relevant to the change request and estimate the effort of doing the job. Assessing
software artifacts is not an easy task because many software projects have various versions and
often requirement documents are not updated. On occasion, documents reside in different files
and e-mails; for this reason, finding the current functionality is extremely hard to find without
reading the code.
The discovery of software artifacts (files, documents, and datasets) relevant to the change
request can increase software reuse and reduce the cost of software development and
maintenance. But due to the inadequacy of the traditional search techniques to provide relevant
software artifacts necessary for the assessment of cost in doing the job. There is a tendency of
providing inaccurate software estimate. Software Estimation is the ability to accurately estimate
the time and/or cost taken for a project to come in to its successful conclusion (wikipedia).
Software estimation is not straightforward (there are several obstacles to finding the relevant
artifacts), especially if the one who is doing the assessment is not familiar with the software
project evolution and framework. One study shows that the inability to provide reasonable
software estimate may end up three times higher than the originally predicted amount (Lindvall,
Feldmann, Karabatis, Chen, & Janeja, 2009).
Previous studies related to the management software artifacts
1) Managing software artifacts on the web with Labyrinth
In the Labyrinth project, the developers enhanced the capabilities of the web as a
document management system by means of a semantic model (called schema, in an analogy
Semantic Wiki 35
to database schemas), which is associated with web documents. This model is itself a web
document and can be accessed and navigated through a simple web browser. Labyrinth
combines a lightweight web-based approach with an explicit, expressive, and fully
customizable schema. Labyrinth can be integrated with a workflow management system and
with several tools to assist the user in defining the schema, in deploying datawebs on remote
sites, and in defining policies for managing inconsistency. The modular servlet-based
architecture of Labyrinth was exploited to add information search utilities (Cattaneo, Nitto,
Fuggetta, Lavazza, & Valetto, 2000).
2) WikiWiki weaving heterogeneous software artifacts
The goal of the XSDoc Wiki was to reduce the development-documentation gap by
making documentation more convenient and attractive to developers (Aquiar & David,
2005). XSDoc helps by creating and annotating framework documents, integrating different
kind of contents (text, models, and source code), and providing a simple and economic
cooperative web-based documentation environment that can be used standalone in a web
browser or in an integrated development environment IDE (Aquiar, David, & Padilha, 2003).
3) Search for relevant software change artifacts using semantic network
The study ―Search for Relevant Software Change Artifacts using Semantic Networks‖
(2009) found that the creation of semantic networks to convey relationships will assist not
only in discovering requested artifacts based on query, but also in discovering other relevant
artifacts that the user may not have been aware of. The researchers created a set of tools and
technologies which used metadata to assist software engineers in their search for software
artifacts in response to change requests. They performed experiments on real software
projects with the help of domain experts, measuring precision and recall by comparing full-
Semantic Wiki 36
text semantic networks only, and combined the use of semantic networks and context
methods. Accuracy increased as a result of their experimental effort, and the semantic
approach led to better recall and precision compared to existing full-text search approaches
(Lindvall, Feldmann, Karabatis, Chen, & Janeja, 2009).
4) Self-organized reuse of software engineering knowledge supported by semantic wikis
Self-organized reuse of artifacts from software and system development using
lightweight wiki technology promises a sustainable preservation and availability of business-
critical information. However, due to the organic, sometimes chaotic growth of content
inside a wiki, additional support for structuring the knowledge and finding interrelated useful
content is needed. The enhancement of Wiki content with ontologies—named semantic
wikis—can solve these problems (Decker, Eric Ras, Klein, & Hoecht, 2008).
Earlier studies that can serve as a baseline for Application Service Providers in their
implementation initiative
1) Documentation - Central documentation practices often cause problems for software
developers and project managers. The main challenge is to keep the information up-to-date
while change occurs. In addition, especially in largely distributed projects with overlapping
responsibilities, information quickly gets redundant and inconsistent. Wikis present a
convenient platform to address both information up-to-datedness and consistency. Firstly,
the easy-to-use update mechanism enables all stakeholders to update information as soon as
changes occur. In this way, the documentation process also gets distributed simultaneously
to the development and management activities. Secondly, the easy information linking in
wikis reduces inconsistencies by keeping the information in a central place (e.g., a wiki page)
and referencing it if required (Happel, Maalej, & Panagiotou, 2006).
Semantic Wiki 37
WikiDoc (Zhao, 2006) and XSDoc (Aquiar, David, & Padilha, 2003) are two concrete
examples that clearly demonstrate the benefits of wikis for software documentation. In
WikiDoc, java code documentation can be added via a wiki interface, even by non-
programmers. XSDoc enables the creation and annotation of software framework documents
as well as the integration of different content types (text, models, and source code). Using
wikis as a documentation infrastructure might be inefficient if paper-based high quality
documentation is needed (e.g., user manual). In this case, the organic (due to the natural and
non-predefined growth) structure of the wiki documentation and the informality of the
content might affect the quality of the document. Wiki documentation needs to be
restructured, serialized, and adapted to the target reader. However, wikis can still serve as an
important help for document writers. Bachmann and Merson (2005) represented their
lessons learned from using a wiki-based tool for architecture documentation. They argue that
the advantage of being able to create and maintain architecture documentation in a dynamic
and collaborative way seems to outweigh any other disadvantages.
2) Bug tracking - Wikis have also been used to capture and manage bugs and issues of software
systems, especially in distributed open source projects. Bug tracking is a collaborative,
knowledge-intensive, and interdisciplinary task that can perfectly be supported by wikis.
Again, the linking feature and the ease of posting are the key success factors for this wiki
application. System developers as well as users are able to post, comment, link, describe,
and collaborate in order to detect and fix issues. Trac is an example of a wiki-based bug-
tracker that allows relating wiki pages to issues and vice versa (Trac, n.d.). Furthermore, the
code of a project can be integrated as a read-only document.
Semantic Wiki 38
3) Requirements and traceability management - Traceability enables programmers to trace
requirements back to the stakeholders or forth to the design concepts, source code, and test
cases. Indeed, traceability is not excluded to requirements. Especially in largely distributed
projects where change occurs frequently, developers and other system stakeholders often
need to trace artifacts and trace decisions to other artifacts, decisions, models, and
participants. It is often useful to trace a test case to the related components that should be
tested. A design goal might also be traced to non-functional requirements. A management
decision might be traced to a risk or to a design decision. Wikis offer an easy and intuitive
way to associate everything with everything. The links between wiki pages might be
interpreted as associations between ―data objects‖ (the pages). This makes information
traceable to other information pieces across the project. Using XSDoc (Aquiar, David, &
Padilha, 2003), in the study entitled ―Wiki-Based Requirements Documentation of Generic
Software Products‖ (2005), the authors present a wiki-based requirements and traceability
management approach especially for customizable software. The relationship between
specific requirements and generic product characteristics is established mainly via
configuration parameters and associated configuration questions. Linking and viewing
facilities supports traceability analysis. Wikis are eligible platforms for requirements
engineering since they allow a very large number of spatially distributed stakeholders to
collaborate in defining the knowledge about the system. WikiReq explores the usage of this
platform for collaborative business process reengineering (Abeti, Ciancarini, & Moretti,
2008).
4) Reuse support - Wikis can be considered an easy-to-use platform for exchanging reusable
knowledge and artifacts among and within software projects. Wiki support for reuse goes
Semantic Wiki 39
beyond its origin for supporting pattern reuse as stated before. Indeed, the linking features
enable the reuse of requirements specifications, documentations, testing instructions, lessons
learned, etc. Although conventional wikis provide a general history tracking mechanism, this
often does not supply the strong common need for elaborated configuration management
mechanisms, which support reuse. Histories of a wiki page present a linear sequential thread
of changed content on the page. The creation and management of parallel branches, a basic
feature of each configuration management system, is not supported by conventional wikis.
5) Communication and collaboration - Wikis support both planned and unplanned
communication in a distributed development context. A successful example of supporting
planned communication is presented in (Mullick, 2006), where a wiki is deployed as a
management tool for meeting protocols in real life projects. Decker et al. (2008) state four
main advantages of wikis for supporting collaboration and knowledge exchange in the course
of software development projects. a) One place publishing: a central place for publishing
information often simplifies the communication between participants. Moreover, the content
of the communication is stored locally and can be used for other reasons (planning,
documentation, etc.); b) Simple and safe communication: the rules of wikis are easy,
especially to software developers who are used to source code editing. Simple access right
mechanisms make the communication more secure; c) Easy linking: this is a major strength
of wikis, especially when applied in the domain of software engineering. Indeed, a rising
need in software projects is to be able to associate everything with everything. Especially in
highly dynamic domains where changes occur frequently, software engineers often need to
associate participants and artifacts (such as design models, communication objects, or a
change request) with each other; d) Description on demand: a user might link an object to a
Semantic Wiki 40
target, although the target does not exist at the ―linking‖ time. Therefore it is possible to
create the target object whenever it is needed. Linking becomes easier.
6) Agility support - Wikis provide a perfect tool to support agility in development projects.
Wikis facilitate informal communication, which is a main success factor for agile
methodologies. Additionally, wikis make up a flexible and quick mechanism of carrying out
changes. Unlike classical methodologies that strive toward minimizing and controlling
changes (e.g., through change control boards, strict change rules), agile methodologies
consider changes as a main condition during and after development. Wikis also provide a
convenient implementation of motivating participants—a core principal of agile practices.
The developers’ motivation is higher if they personally propagate their knowledge and are
responsible for it. Unlike central communication mechanisms with tight control that limits
potential opportunities for expertise sharing and collaborative knowledge creation among
distributed team members, everyone is responsible for his/her content in a wiki. This
increases the information quality and the motivation of the developers. Many recent studies
have demonstrated the usefulness of wikis in agile projects (Silveira, Faria, Aguiar, & Vidal,
2005). In a case study by Chau and Maurer (2005), the authors present the results of an
exploratory case study. They argue for the need of knowledge sharing tools that support not
only structured but also unstructured knowledge representation. Wiki-based informal
knowledge authoring tools can be used for sharing content about problem understanding,
instrumental, projective, social, expertise location, and content navigation purposes. The
authors also observed self-organized maintenance of the repository content among the
ordinary repository users as a result of the open-edit nature of the wiki-based repository.
Semantic Wiki 41
On Wiki
Cunningham, the inventor of first wiki in 1995, was promoting software patterns called
the Portland Pattern Repository, a repository for computer programming design patterns. To
popularize his research, he created a website called WikiWikiWeb, which he coined after he saw
the Wiki Wiki shuttles at the Honolulu airport during his vacation in Hawaii. Ward created the
Portland Pattern Repository on c2.com as a means to help object-oriented programmers publish
their computer programming patterns. Cunningham posted software patterns on the site and
invited friends and collaborators to do the same. The concept spread slowly across the web and
the sites based on the Cunningham’s model became known as wikis (C2, n.d.). A wiki is
described as a set of linked web pages (and the application enabling its development), created
through incremental development by a group of collaborating users (C2, n.d.). The wiki’s
uniqueness lies both in its software and in the use of the software by collaborating members.
Issues and challenges of traditional wiki
Wiki is indeed a promising tool, but as wikis grow with a large number of participants,
problems may develop related to users’ difficulty in finding their way, in navigating and
searching. A company named ILOG, which uses ASPSeek to index and search the resources of
their wiki-based intranet, apparently noticed over time that the search engine performance had
suddenly dropped, and that, as a result, people stop using it. The University of Nice confirmed
that the search is less useful as the wiki document base grows (Buffa & Gandon, 2006). In the
case of the New York Times Digital, they encountered several problems as wiki grew to
thousands of pages. The primary issue that they encountered was related to the navigation of
pages. To resolve this, navigation bars were added, but users still find it confusing and
convoluted. Another problem that they encountered was a WikiNames collision. WikiNames
Semantic Wiki 42
are often phrases without a widely agreed-upon meaning. Wiki participants cooperate to
generate shared meaning. With the WikiNames collision, the intent was to join a new page with
an existing page that had the same concept. By doing this, it was hoped that information with
similar concepts could easily be found. For this reason, it is challenging to choose a sensible
WikiName. It is desirable for the name to be based on what is/will be on the WikiPage and how
people will use it. However, in the New York Times Digital, the users frequently wanted to have
their own pages, so they invented WikiNames that were no longer meaningful to the content. As
a result, the wiki, a promising tool, was found to be a disaster in their publishing process due to
its inability to navigate and search the location of page without knowing its URL (Buffa &
Gandon, 2006).
A research project done by the National Research Study of Canada (2005) found
hyperlink management as a major usability problem. To identify problems with their wiki, they
conducted research through observation and problem-solving interaction with several children
who used the tool to collaboratively author hypertext stories over several sessions. Based on 224
unique problems that they observed, the observation frequencies were as follows: hypertext
medium related issue (62% of all problems), link creation and management (49% of all
problems), hypertext authoring (14% of all problems), image uploading (12% of all problems),
creating/editing pages (11% of all problems), basic computer skills (9% of all problems),
collaboration (7% of all problems) , navigation (6% of all problems), global site view (4% of all
problems), and lastly human error (4% of all problems) (Desilets, Paquet, & Vinson, 2005).
Because of wikis’ pros and cons, it is essential that developers understand when, why,
and how to apply a wiki solution to be successful, and they must remember that technology is
just a tool. Owning a hammer does not make anyone a good carpenter. To be a good carpenter,
Semantic Wiki 43
a person needs experience. Applying this analogy in the context of wiki issues, it is well-
documented that there are issues related to link management and page creation. However, it
must also be considered that wiki is an evolving solution. According to Davenport, De Long and
Beers (1997), knowledge management is evolving practices; even the most developed and
mature knowledge management projects they studied were unfinished. Like any other solution,
there is a refinement process. To address the current issues of wikis, a new breed of wiki is
needed, one that is capable of self-learning and self-adapting to today’s requirement of
information sharing, and a means of injecting semantics-awareness to the traditional web
infrastructure to allow machine-understandable domain knowledge to be shared across
application boundaries (Tolksdorf, Paslaru, & Simperl, 2006).
On the Semantic Web
Semantics is the study of meaning. The word ―semantic‖ comes from the Greek
semantikos, or ―significant meaning,‖ derived from sema, or ―sign.‖ Semantic Web technologies
help separate meanings from data, document content, or application code, using technologies
based on open standards. If a computer understands the semantics of a document, it doesn't just
interpret the series of characters that make up that document; it understands the document's
meaning.
Principles of "web data"
According to Tim Berners (1996), the inventor of web, ―The goal of the Web was to be a
shared information space through which people (and machines) could communicate.‖ It was also
the original intent that this so-called ―space‖ ought to span all sorts of information, from different
sources to a wide array of formats, and from highly valued designed material to a spontaneous
Semantic Wiki 44
idea. In the original design of the web, he stated the following fundamental design criteria
(Berners, 1996):
1) An information system must be able to record random associations between any arbitrary
objects, unlike most database systems. The concept of database systems has been purposely
utilized to facilitate storage, retrieval, and information generation of structured data. Unlike
database systems, the web concept of ―one universal space of information‖ is based on the
principle that almost anything on the web could be possibly linked to any arbitrary objects.
The power of the web is that linkage can be established to any document (or, more generally,
any resource) of any kind in the universe of information, whereas in database systems, one
has to understand the data structure in order to establish the relationship.
2) If two sets of users started to use the system independently, to make a link from one system
to another should be an incremental effort, not requiring unscalable operations such as the
merging of link databases. In the business environment, to integrate two different types of
systems, it is necessary to perform some degree of integration efforts such as merging,
importing, or linking of databases. On the contrary, the idea of the web was to be able
integrate systems easily. Most of the systems done in the past involve a great deal of
integration effort due to the information silo. For this reason, the idea of machines talking to
each other set forth the promise of seamless integration.
3) Any attempt to constrain users as a whole to the use of particular languages or operating
systems was always doomed to fail. Information must be available on all platforms,
including future ones. Platform and language interoperability support the principles of
universality of access irrespective of hardware or software platform, network infrastructure,
language, culture, geographical location, or physical or mental impairment.
Semantic Wiki 45
4) Any attempt to constrain the mental model of users of data into a given pattern was always
doomed to fail. If information within an organization is to be accurately represented in the
system, entering or correcting it must be trivial for the person who is directly knowledgeable.
If the interaction between person and hypertext could be so intuitive that the machine-
readable information space gave an accurate representation of the state of people's thoughts,
interactions, and work patterns, then machine analysis could become a very powerful
management tool, seeing patterns in our work and facilitating our working together in spite
of the typical problems which beset the management of large organizations.
The basic principles of the web proposed in 1989 to meet the design criteria were adopted
based on the well-known software design principles called ―independent specification design.‖
This design was based on the principle of modularity, meaning that when a design is modular in
nature, the interfaces between the modules hinge on simplicity and abstraction. This allows
seamless compatibility of the existing content to work with the new implementation. As
technology evolves and disappears, specifications for the web’s languages and protocols should
be able to adapt to the new hardware and software changes. Along with this basic principle are
the three main components of URI, HTTP, and HTML.
Why do we need the Semantic Web?
The Semantic Web is a web of data. It is about common formats for integration and a
combination of data drawn from diverse sources, where the original web design mainly
concentrated on the interchange of documents. It is also about language for recording how data
relates to real world objects that allow a person, or a machine, to start off in one database and
then move through an unending set of connected databases (Herman, 2009). From the traditional
―web of pages‖ to a ―web of data‖, the Semantic Web goal is to provide a cost-efficient way of
Semantic Wiki 46
sharing machine-readable data. The Semantic Web can aid effective knowledge management
and cost-effective product life cycle automation for faster development and integration processes
(Balani, 2005).
Solution for the information silo
A lot of the data that people use everyday are not part of the web. These data, which are
in various silos, reside in different software applications and locations that cannot be connected
easily. Due to the silo of information where both personal and business information are managed
by different software, most people are forced to learn to use different programs all the time. In
addition, since data are controlled by applications, each application must keep the data to itself.
According to W3C Group, what is needed is a ―web of data‖ (Herman, 2009). Supported
by Fielding’s dissertation, Herman notes that there is a need for a way to store and structure our
own information, whether permanent or temporal in nature, both for our own necessity and for
others, be able to reference and structure the information stored by others so that it is not
necessary for everyone to keep and maintain local copies (Fielding, 2000). The Semantic Web
provides a common framework that allows data to be shared and reused across application,
enterprise, and community boundaries. You can think of the Semantic Web as an efficient way
to represent data on the world wide web, or as a database that is globally linked, in a manner
understandable by machines, to the content of documents on the Web. Semantic technologies
represent meaning using ontologies and provide reasoning through the relationships, rules, logic,
and conditions represented in those ontologies.
To represent the Semantic Web, one would use the following technologies:
1) A global naming scheme (URIs)
2) A standard syntax for describing data (RDF)
Semantic Wiki 47
3) A standard means of describing the properties of that data (RDF Schema)
4) A standard means of describing relationships between data items (ontologies defined with
the OWL Web Ontology Language)
What the Semantic Web is not
Semantic Web is not Artificial Intelligence (AI). It is true that most techniques that are
currently used in the Semantic Web did come from research in AI. But the concept of machine-
processable documents does not imply the sort of magic implied by AI. The concept means that
computers will have enough semantics to allow them to solve well-defined problems through
sequential processing operations. According to Antoniou and Harmelen (2004), ―If the ultimate
goal of AI is to build an intelligent agent exhibiting human-level intelligence (and higher), the
goal of the Semantic Web is to assist human users in their day-to-day online activities.‖
Semantic Web is not a separate Web, but rather an extension of the current Syntactic Web.
Semantic Web will not demand the use of complex expressions. Although the Semantic Web
language standard, OWL, supports very sophisticated constructs, it will not be mandatory that
every Semantic Web application show this level of complexity. Semantic Web is not a rerun of a
failed experiment (Breitman, Casanova, & Truszkowski, 2006).
Future of the Semantic Web
Semantics are the future of service-oriented integration. Semantic technologies provide
an abstraction layer above existing IT technologies, one that enables the bridging and
interconnection of data, content, and processes across business and IT silos. From the human
interaction perspective, semantic technologies add a new level of semantic portals that provide
far more intelligent, relevant, and contextually aware interactions than those available with the
traditional point-to-point integration approach for portal-based information delivery (Balani,
Semantic Wiki 48
2005). The Semantic Web is like glue that can put broken things together. It was a concept
envisioned by Tim Berners (1996) since the day the web was conceptualized. The Semantic
Web is the realization of Tim Berners’ vision of communication among machines. It has four
major components: URI as identifier, RDF as language, RDF as metadata, and OWL ontology as
a way to establish relationships. Lastly, it is the future of service-oriented architecture, the
solution to the information silo, and the backbone of the Semantic Wiki.
On the Semantic Wiki
A hybrid solution derived from the strengths of the Semantic Web (machine processable,
data integration, complex queries) and wiki (easy to use/contribute, strongly interconnected,
collaboration) technologies. The availability of machine-understandable domain knowledge and
the means to inject semantics-awareness into the traditional web infrastructure is expected to
enable or enhance the navigation, personalization, and search functionalities (Tolksdorf, Paslaru,
& Simperl, 2006). According to SemWiki (n.d.), the goals of the Semantic Wiki include the
following : simple annotations of existing wiki content; tools that guide users from informal
knowledge contained in texts to more formal structures; and full-fledged tools for ontology
editing when the text is no longer in the focus of the system (SemWiki.org, n.d.).
The potential benefits of Semantic Wikis relative to traditional ones have been well
summarized in a recent Project10X report (Davis, 2006):
1) Concept-based rather than language-based searching; queries span vocabularies, languages,
and search engines.
2) Question answering rather than simple retrieval. Also, overlaying ontologies and knowledge
bases can integrate with major web search engines.
Semantic Wiki 49
3) More richly structured content navigation, including multiple perspectives, multiple levels of
abstraction, dependency/contingency relationships, etc.
4) Easy visualization of content structure (categories, taxonomies, semantic nets, etc.). Direct
editing of content structure.
5) Mining of semantic relationships in content.
6) Wiki content linked to dynamic models, simulations, and visualizations.
7) Wiki content linked with external repositories and file systems (e.g., personal desktops,
enterprise servers, web sources, semantic-enabled feeds, etc.).
8) Richer user access/rights models, including reputation systems.
On the Implementation of Semantic Wiki-based Knowledge Management Systems
In computer science, an implementation is a realization of a technical specification or
algorithm such as a program, software component, or other computer system. Many
implementations may exist for a given specification or standard. For example, web browsers
contain implementations of World Wide Web Consortium-recommended specifications, and
software development tools contain implementations of programming languages.
What makes Semantic Wiki a promising solution for knowledge management?
1) Social techniques instead of software components - A study entitled ―Wiki and the Wiki
Way: Beyond a Knowledge Management Solution‖ concluded that the wiki way solution
encompasses the idea of employing social techniques instead of software components to ease
collaboration and interaction of capturing knowledge (Gonzales, 2005). According to Stowe
Boyd (2005), ―wiki solution is the opposite of project-oriented collaboration tools that places
people into groups. Social software supports the desire of individuals to be pulled into
groups to achieve goals‖ (Boyd, 2005).
Semantic Wiki 50
2) Solution for knowledge sharing - Wikis are a promising new technology that supports
―conversational‖ knowledge creation and sharing (Wagner, 2004). According to Gonzales
(2005), wikis have the ability to disseminate knowledge to various domains that reside across
time, distance, and organizations. They can be integrated as part of an employee’s work
process in order to facilitate knowledge-sharing and system utilization.
3) Solution for knowledge capture and collaboration - Wikis provide a dynamic system for
knowledge capture that is able to evolve with changing needs. The open wiki feature allows
for communication, collaboration, and the documentation of what is collectively considered
pertinent knowledge (Gonzales, 2005). A wiki is a collaboratively created and iteratively
improved set of web pages, together with the software that manages the web pages. Because
of their unique way of creating and managing knowledge, wikis combine the best elements of
earlier conversational knowledge management technologies (Table 2.1), while avoiding
many of their disadvantages (Wagner, 2004).
4) Conversational technology solution - Wiki pages demonstrate a conversational KM solution.
Conversational KM has surfaced as a method for organizational knowledge creation,
particularly in a virtual team environment. The prospect of several key benefits make these
solutions a favorable business option since they are not economically or technologically
demanding, are quick to create knowledge, and are well-suited for decentralized
environments (Wagner, 2004). The potential of wikis may surpass those familiar
conversational technologies presently internalized in business processes such as e-mail,
discussion forums, instant messaging, and group decision support systems. In addition, wiki
pages exemplify a social software solution whereby individuals are technically supported in
aspirations to belong and contribute in a group atmosphere. This type of group participation
Semantic Wiki 51
creates voluntary social connections said to help realize personal goals (Boyd, 2005). As a
conversational technology (Table 2.1), wikis should be most effective for ad-hoc problems
with decentralized knowledge sources (Cheung, Lee, & Ip, 2005).
5) Solution beyond knowledge management - The power of wiki applications is being extended
beyond KM initiatives to include document retention, project management, employee
evaluation, help desk, calendars, and much more. In essence, the flexible customization of
wiki pages allows them to be molded to fit a specific need; basically, Wymiwyg (―What-you-
make- is-what-you-get‖) (Gonzales, 2005).
Semantic Wiki 52
CHAPTER 3
Semantic Wiki-based Knowledge Management System solution for the information sharing
requirements of Application Service Providers
Introduction
Ives et al. (2003) define knowledge sharing as a human behavior that must be examined
in the context of human performance. They describe a human performance model that includes
business context, organizational, and individual factors. The requirements of the technological
aspect of knowledge sharing being studied are within the Application Service Provider’s context.
There are two types of organizational structures primarily involved in the knowledge sharing of
an ASP Model. First, the knowledge sharing within the ASP provider’s organizational structure
and the knowledge sharing between the ASP provider and its clientele. The study focuses on
knowledge sharing that is within the boundaries of the ASP provider, the IT (Information
Technology) solution groups and the client services groups. The client services groups are
employees who interact directly with the client while the IT solution groups are employees who
are in charge of the delivery of customized software solutions.
Assessing software artifacts is not a straightforward undertaking; often, many software
projects have various versions, and requirement documents that are not updated. In doing an
assessment, there are times when documents reside on different files, e-mails, or on an
employees’ computer. For this reason, assessing the impact of the changes within the current
functionality is difficult to do without reading the source code of the program.
Using of a repository solution like Subversion (SVN) is a norm in the software
development community because it is an excellent open source version control system. SVN
Semantic Wiki 53
operates across networks, which allows it to be used by users on different computers. At some
level, the ability of various people to modify and manage the same set of data from disparate
locations fosters collaboration; however, using this type of solution often causes problems for
software developers and project managers. The main challenge is to keep the information up-to-
date, even as changes are constantly happening. In large client projects with overlapping
responsibilities, the information can quickly appear redundant or inconsistent. Accordingly,
knowledge management is critical for the creation and leveraging of knowledge.
Research Methodology
In the quest for answers to the challenges of today’s technological aspects of information
sharing, the researcher conducted a study on principles and the implementation of the semantic
wiki—a semantic web based solution—envisioned to answer information silos and information
sharing challenges. The researcher compared Word/SVN, e-mail, traditional wiki, and semantic
wiki solutions specifically for the purposes of collaboration, information retrieval, information
dissemination and integration, and the comparative analysis of each solution’s strengths and
limitations was discussed. The information was gathered from journals, symposia and research
studies archives. The data collected for the purposes of comparative analysis was evaluated,
analyzed and synthesized accordingly by the researcher. Currently the researcher is employed as
a software engineer to one of the largest ASP providers in the United States specializing in
pharmaceutical markets.
Assumptions and Limitations
It is important to understand that technology alone is not enough of a solution to address
the issues and challenges of knowledge sharing. For this reason it is important that the
implementation of the solutions mentioned below must take place prior to the execution of the
Semantic Wiki 54
knowledge management solution. The following assumptions were considered in order for the
system to be effective: a) employees are willing and able to share knowledge; b) employees are
given time to document their work; c) companies are committed to knowledge sharing and to the
cost of doing it; d) since the system will only be accessible within the company’s network,
security concerns will not be an issue; e) employees are encouraged by the company to share
knowledge because of the added incentives they will receive; and f) a good knowledge
management system will foster good relationships and encourage transparency
Requirements of Information Sharing
According to Von Krogh, Ichijo, & Nonaka (2000), knowledge sharing is critical to the
performance of knowledge creation and in the leveraging of knowledge, whereas Ives et al.
(2003) described knowledge sharing as a human behavior that must be examined in the context
of human performance. The requirements of knowledge sharing stated in the study do not
pertain to human behavior but rather to technological dynamics. One of the critical components
that must be addressed as part of implementation of knowledge management systems is the
human behavior aspect of knowledge sharing, or the willingness of each individual to be open
and share his or her knowledge within the boundaries of the ASP provider. These are the
requirements of information sharing.
1. The system should be able to support communication and collaboration
As information is managed collaboratively, multiple users need system support for
creating and editing shared versions of the same information resources in parallel directions.
MSWord/SVN - Microsoft Word does not provide common functionalities such as
comparing, merging, or identifying differences between documents. To compensate for these
limitations, a revision control system, Subversion (SVN), is used to track the history of the
Semantic Wiki 55
changes in the documents, as well as document chains. Subversion and many other version
control systems use a copy-modify-merge model as an alternative to locking. Users then work
simultaneously and independently, modifying their private copies. Private copies are merged
together into a new, final version. The version control system often assists with the merging, but
ultimately, a human being is responsible for successful document integration (Sussman,
Fitzpatrick, & Pilato, 2005).
The Word/SVN solution uses Subversion as storage to centralize the sharing of
information. At its core is a repository, or a central storage area for data. The repository stores
information in the form of a file system tree—a hierarchy of files and directories. Clients are
connected to the repository, and the permissions for accessing the information posted in the
repository are set to either read or write from the file system. By writing data, a client makes the
information available to others; by reading data, the client receives information from others.
There are no limitations to the layout of directories within SVN, but there are certain conventions
in its use. You can access Subversion repositories through many different methods, on local
disks or through various network protocols, depending on the settings applied by the
administrator. A repository location, however, is always a URL (Collins, Fitpatrick, & Pilato).
Whenever checking out a file, the Subversion client puts a perfect copy of this file in a
special directory with a .svn file extension. Whenever the file is edited, Subversion is able to
track—without going to the server—what changes have been made to the file. It is also able to
restore the file to its state before the changes were introduced without calling the server side.
The limitation, however, is that, when a comment is made, it is only capable of sending the
earlier version whether in text or binary files. It is capable of giving different versions
(directories, etc.), and it supports moving files, directories, branches, etc.
Semantic Wiki 56
E-mail – E-mail is not a preferred method for collaboration since it operates in a forward
and reply pattern and does not track changes, but it works well for private communications tasks.
With lengthy discussions, the tracking of information flow in e-mail is complex and tedious,
while e-mailing a bulky document is inconvenient due to file size constraints. In the absence of
more appropriate collaboration tools, e-mail tends to be misused because of its accessibility and
convenience. Users frequently access e-mail to process new messages, and exploit this access to
update the outstanding tasks at hand and identify new tasks. E-mail’s conduit functions lead
many to exploit the inbox for task management. Information about current tasks are left there,
knowing that, when reopened, the user will be reminded about outstanding tasks. E-mail is also
an important information repository for personal information, but archiving can be problematic.
The disorganized collection of messages that accumulates in the inbox decreases the relevance
and accessibility of individual messages, which are often pushed out of sight by incoming items
(Whittaker, Bellotti, & Gwizdka, 2006). Much of the anxiety of information overload is in many
cases caused by e-mail (Tjaden, 2007).
Traditional & Semantic Wikis - Wiki has the ability to track the revisions of each
contributor to the input document. Wikis are good for non-private collaboration. As soon as
content is created, others can contribute to it, extend it, and correct it, giving the user almost
complete freedom over the content development process without rigid workflow, restrictions or
predefined structures. Wikis are great tools to avoid reinventing the wheel. Many wiki systems
provide further collaborative editing by means of discussion forums, summaries of changes, and
lists of the most recent updates. Conversely, the editing experience may prove difficult for non-
technical users, and it can be equally difficult to convert a wiki page into something that looks
good in print.
Semantic Wiki 57
Analysis
‘Required’ and ‘Recommended’
The overall features available in traditional and semantic wikis in the ―required‖ category
are greater than SVN and e-mail, except for the ―recommended‖ category where MS Word is
more advantageous because MS Word has the built-in capability to track changes. Although
SVN is a revision control system, the merging capability offered by SVN requires manual
intervention, and the changes must be done manually to make sure that the built-in functionality
merges the changes properly.
Editing experience
Given that MS Word is an editing tool, the editing experience is superior to that of the
wiki. Users are comfortable using MS Word because of advanced editing capabilities such as
grammar and spelling checking. The emergence of rich internet client (RIA) capabilities opens
up the possibility of having the same WYSIWYG experience in wiki; however, advanced
features available in MS Word for editing are not yet available in wiki.
Flexible permission capability
In an ASP software development environment, software services are offered to multiple
clients. Each client has a dedicated team solely responsible for the development, support and
maintenance of the ASP. ASP companies employ temporary employees that have limited access
to company resources. For this reason, the flexible permission capability included in the
―required‖ category is considered a first-class requirement in information sharing. In
comparison with SVN and wiki, SVN offers a greater flexibility of security configuration than
wiki.
Semantic Wiki 58
Table 3.1. Communication and Collaboration Criteria Comparison
MSWord/SVN
MSWord/E-mail
Traditional
Wiki
Semantic
Wiki
Platform
Collaboration Editing
Application MS Word MSWord Web Brower Web Brower
Repository Engine Revision
Control Server Mail Server Web Server Web Server
Taxonomy
Word
processing
software/
Version Control
System
Personal
Information
System
Social
Website
Social
Website
Designed for : Versioning
Code
Private
communication
tasks
Non-private
collaboration
Non-private
collaboration
Resource Requirements
License Required True True False False
Training Required True False False False
Required
Versioning and Page
History True False True True
Collaborative Editing True False True True
Locking Mechanism False False True True
Reliable Merging False False True True
Changes applied
automatically False False True True
Difficult editing experience False False True True
Semantic Wiki 59
Flexible permission
capability
True True False False
Quality printed output True True False False
Non-Required
Commenting False False True True
Popularity False False True True
Rating False False True True
Support Disconnected
scenario from network True False False False
Recommended
―Track Changes‖ review for
tracking of changes per
document
True True False False
Each person edits copy of
document True True False False
Other implementation considerations
Avoid reinventing the wheel True False True True
Attachment size constraints False True True True
Complete freedom over
content development
process
False False True True
Conversational technology
solution False True True True
Requires careful planning of
directory structure True False False False
Solution for constantly
changing requirements False False True True
Support Disconnected/Occasionally disconnected scenario from network
Employees interfacing with the client are typically working remotely and have no access
to a company’s virtual private network (VPN). Wiki is a brower-based application for which
Semantic Wiki 60
information is accessible only if the VPN connection is available, whereas in SVN each user has
his or her own copy of the MS Word document file. While maintaining separate copies of files
alleviates the possibility of having outdated documents, the disadvantage is the incapacity to
work freely without network access.
Resource requirements
Neither SVN or wiki require significant resource investments since both solutions are
downloadable for free. The only solution that requires licensing is MS Word, but there are
counterparts of MS Word offered by other companies free of charge (e.i. openoffice - the leading
open-source office software suite for word processing, spreadsheets, presentations, graphics,
databases). In addition, because of the complexity of SVN, training may be required for non-
technical users.
Avoid reinventing the wheel
Included in the wiki design principles is the ―convergent‖, which means duplication can
be discouraged or removed by finding and citing similar or related content (C2, 2009). Semantic
Wiki’s advanced searching capabilities make comunications easier to share, because, if the
information is already available information can be added on the same page instead of creating a
new one.
Commenting
Wiki offers additional features like commenting, which can be used as a replacement for
e-mail discussion as long as the content is not confidential in nature. Wiki is observable, which
means activity within the site can be watched and reviewed by any other visitor to the site.
Conversational technology solution
Semantic Wiki 61
One study showed that the potential of wikis may surpass those familiar conversational
technologies presently internalized into business processes, such as e-mail, discussion forums,
instant messaging, and group decision support systems (Wagner, 2004). In addition, wiki pages
exemplify a social software solution whereby each individual is technically supported in
whatever information he or she would like provide, contributing to benefit others by providing
an organized atmosphere. This manner of group participation creates voluntary social
connections which aid in realizing personal goals (Boyd, 2005).
Complete freedom over content development process
According to Davenport De Long (1997), knowledge management tools should facilitate
sharing rather than extract from a repository. Knowledge repositories should be created for
structured internal knowledge and information, as well as to create informal internal knowledge.
These include knowledge that is in the minds of the people within the organization but has not
been in any structured or document-based written format. Using a wiki, any individual on the
team can publish informal and random knowledge since he or she will have the complete
freedom over the content development process.
Quality printed output
Because of HTML—the markup of wiki—producing quality output is not necessarily
conducive to printing quality output, although there are ways to convert HTML to a .pdf format.
A lot of wikis do not offer this functionality.
Communication and Collaboration
Wikis support both planned and unplanned communication in a distributed development
context. A successful example of supporting planned communication is presented in Mullick, et
al. (2006), where a Wiki is deployed as a management tool for meeting protocols in real life
Semantic Wiki 62
projects. Decker et al. (2008) state four main advantages of Wikis for supporting collaboration
and knowledge exchange in the course of software development projects: a) one place
publishing, b) simple and safe communication, c) easy linking, and d) description on demand.
One of the major benefits of the wiki concept is the ability to allow a large number of
authors to collaboratively produce articles (Brannstrom & Martenson, 2006). Wiki is a
collaborative authoring system for collective intelligence. It is widely used in the open source
and global software development communities for documentation and coordination purposes
(Xiao, Chi, & Yang, 2007).
Solution for constantly changing requirements
Wikis provide a dynamic system for knowledge capture, able to evolve with changing
needs. The open wiki feature allows for communication, collaboration and the documentation of
what is collectively considered pertinent knowledge (Gonzales, 2005).
2. The system should be able to provide advanced information retrieval techniques
In order to handle the available information, the system should include searching and
navigation features which include full text search, semantic search, context-based search, context
based navigation, personalization, and content analysis.
Microsoft Word/SVN – The Subversion solution is much more efficient than ad hoc
arrangements such as e-mailing files back and forth. A web server is not intended to synch files.
Subversion has two components: a server that stores files (called modules) and a desktop client
for accessing the server. The Subversion server can be installed locally or on a remote machine.
The focus of the Word/SVN solution is often in the documents and how to organize them in
folders, while a wiki system is completely focused on the content itself (Brannstrom &
Semantic Wiki 63
Martenson, 2006). Word/SVN is only an ad-hoc solution, and therefore more of a starting point
towards content management.
E-mail is designed for personal communication and not for collaboration. Due to the
absence of alternative tools, users would be required to push the limits of e-mail to handle
coordination. Using a traditional wiki as a means to organize information has been proven
effective in some cases in the past but not in others; consequently, the Semantic Wiki solution
carries the promise of true collaboration and coordination. There are numerous free solutions
available but the general concept is not simple. To leverage the full potential, an understanding
of the technology is required. Due to the absence of structure, wikis tend to work best when
users can decide for themselves where to organize information. Without pre-defined structure,
page navigation is difficult.
Tortoise SVN is the most popular Subversion client for Windows (Rahmel, 2007).
Tortoise asks for the URL of the repository, a user id, and a password. All files in a module can
be checked out, edited as needed, and then saved. Tortoise integrates into Windows Explorer.
Folders show a green check mark if they are current, or a red X when they have been changed.
There are tools available that are used to scan a whole Subversion repository and create a
searchable index (i.e. Google Desktop and Window Search). They can scan Word, Excel,
PowerPoint, and Adobe Acrobat files in addition to other kinds of text based data. Microsoft and
Google Desktop searches are the most popular desktop search engines, providing full text search
over e-mail, files, music, photos and more.
Traditional Wiki - Pages are linked to each other using hyperlinks. The simplified wiki
syntax makes it very easy to define a link to another page in the wiki. For example, in many
wikis a link is defined by enclosing a word in brackets, or by using a so-called ―CamelCase‖, in
Semantic Wiki 64
which a word contains several upper-case letters. Links to non-existing pages are usually
rendered in a different color. If a user clicks on such a link, the system redirects the user to an
address where he or she can create the non-existing page. Links within a wiki are the most
important tool for navigation; therefore, many systems allow not only the ability to follow links
in the direction they are defined, but also to reverse direction (―back-links‖).
Wikis do not support structured access, as they provide no means for navigating related
information. They do not support information reuse since information is only represented in
natural language. For example, translations of pages have to be maintained manually, and
database-like views of the information (there is no way to query the data since page is stored in a
natural language) are not possible (Oren, Breslin, & Decker, 2006).
Semantic Wiki – The navigation of semantic wikis is accomplished by annotating
existing navigational links with symbols that describe their meaning. Virtually all semantic
wikis allow the annotation of links by giving them certain types. The idea behind this is that
every link carries meaning beyond mere navigation. For example, a link from Mozart to
Salzburg could be annotated with ―lived in‖ or ―born in‖. Such annotations are useful for
enhanced presentation through the display of contextual information, enhanced navigation
through giving access to relevant information, and enhanced ―semantic‖ searches that respect
context in addition to content.
Semantic wikis allow users to make formal descriptions of resources by annotating the
pages that represent those resources. Where a traditional wiki enables users to describe
resources in natural language, a semantic wiki enables users to additionally describe resources in
a formal language. The authoring effort is relatively low, as the semantic annotations are very
similar to the layout or structural directives that are already in widespread use in ordinary wikis.
Semantic Wiki 65
Using formal annotations of resources, semantic wikis offer additional features over regular
wikis. Users can query the annotations directly (―show me all authors‖) or create views from
such queries. Users can also navigate wikis using annotated relations (―go to other books by
John Grisham‖), and introduce background knowledge to the system (―all poets are authors;
show me all authors‖) (Oren, Breslin, & Decker, 2006). A more rigid and defined structure
could lead to wider applicability of the wiki for its users while disrupting natural creative flow
and discouraging wider exploration and discovery of content
Table 3.2. Information retrieval techniques comparison
MSWord/SVN
MSWord/E-mail
Traditional
Wiki
Semantic
Wiki
Search and Navigation features
Full-Text Search True True True True
Semantic Search False False False True
Semantic Navigation False False False True
Context-Aware
Presentation False False False
True
Reasoning Support False False False True
Other consideration
Access Method File System or
URL E-mail Web
Web
Organization Folder
Structured Inbox Structured
Non -
Structured
Structured
Listed below are features that semantic wikis provide that are not available in traditional
wikis:
Semantic Wiki 66
a.) Semantic search – Most semantic wikis allow ―semantic search‖ on the underlying
knowledge base (Schaffert, Westenthaler, & Gruber, 2006). Usually, queries are expressed
in the language SPARQL, an RDF query language proposed by the W3C. Using ―semantic
search‖, users can search queries like ―retrieve all pieces composed by Mozart‖ or ―retrieve
all documents where the license permits derivative works‖.
b.) Semantic navigation – Compared to a traditional wiki that only allows forward linking, a
semantic wiki offers additional information on the resource the link describes (Aumueller &
Auer, n.d.). Such information can be used to offer more sophisticated navigation. For
instance, links are more independent from the textual context and can be displayed in a
separate ―related information‖ section. The page describing Mozart could offer a separate
section with references categorized by ―lived in‖, ―composed‖, etc.
c.) Context-aware presentation – Many semantic wikis can change the way content is presented
based on semantic annotations. This can include enriching pages by displaying semantically-
related pages in a separate link box, displaying information that can be derived from the
underlying knowledge base (for example, a box with a graphical tree presentation or license
information), or even rendering its page content in a different manner that is more suitable
for the context (multimedia content vs. text content) (Schaffert, Westenthaler, & Gruber,
2006).
d.) Reasoning support – Reasoning means deriving additional, implicit information from facts
entered into the system using predefined or user-defined rules in the knowledge base
(Decker, Eric Ras, Klein, & Hoecht, 2008). For example, from the fact that ―Mozart‖
composed ―Die Zauberflote‖, a system capable of reasoning could deduce that ―Mozart‖ is a
―composer‖. Although reasoning is an important feature, it is only supported by a few wikis.
Semantic Wiki 67
Analysis
The only searching functionality supported by Word/SVN, e-mail, and traditional wiki
solutions is the full-text search; for this reason, Semantic Web offers the most preferable
functionalities. In the study ―Search for Relevant Software Change Artifacts using Semantic
Networks‖ (2009) it was found that the creation of semantic networks to convey relationships
helps assist not only in discovering requested artifacts based on search queries but also other
relevant artifacts of which the user may not be aware (Lindvall, Feldmann, Karabatis, Chen, &
Janeja, 2009).
3. The system must allow machine-understandable domain knowledge shared across
application boundaries
A system needs to consistently relate to an external information source in order to
improve the quality of its information services and to round out the functionality of the overall
system. Digitization means information can be shared, cross-referenced, and repurposed;
however, the greatest challenge lies in making information accessible to the end user. Content
integration and the opening up of the information silos has been an important topic in business
for several years. Information is gathered with incompatible software and used by different
groups in organizations without knowledge of one another. The same information about
customers or products is repeatedly collected in different silos, duplicating effort and preventing
valuable information from being located and utilized across silos (Webster, 2009). Large
organizations, particularly ones in which large repositories of information are stored in different
systems which are inaccessible to one another, are confronting this content management
challenge.
Semantic Wiki 68
Ideally, an enterprise’s digitized information, regardless whether it is store on individual
hard drives, e-mail, or in personal files, should be searchable as long as employees are willing to
share the information. Because of other sensitive information, however, employees are hesitant
to share their hard drives. On the other hand, even if drives are shared, finding unstructured
information is of immediate concern. Because unstructured information is only implicit, in order
for the computer program to understand the meaning, it requires some degree of analysis to
clarify the document's semantics.
Semantic wikis are a great tools which enable collaboration within an organization or
community. However, if multiple groups (such as ASP technical and business group) need to
share information with each other, wikis should be connected. Semantics are the future of
service-oriented integration. Semantic technologies provide an abstraction layer above existing
IT technologies, one that enables the bridging and interconnection of data, content, and processes
across business and IT silos. From the human interaction perspective, semantic technologies add
a new level of semantic portals that provide far more intelligent, relevant, and contextually aware
interactions than those available with the traditional point-to-point integration approach for
portal-based information delivery (Balani, 2005).
Analysis
Implementing knowledge management is about bringing together people, skills, business
processes and technology infrastructure, including content management in order to exploit an
organization’s knowledge base. The power of semantic wiki applications can be extended
beyond knowledge management initiatives to include document retention, project management,
employee evaluation, help desk, calendars and much more (Gonzales, 2005). Semantic wikis are
a promising solution in that they can be integrated with other coordination systems such as bug
Semantic Wiki 69
tracking, documentation and other software engineering tools. They can also be integrated as
part of an employee’s work process in order to facilitate knowledge sharing and system
utilization.
Beyond knowledge management, ASP companies can utilize semantic wikis and
semantic web functionalities in sharing functionalities. The semantic web provides a common
framework that allows data to be shared and reused across applications, enterprises, and
community boundaries. Semantics are the future of service-oriented integration. Semantic
technologies provide an abstraction layer above existing IT technologies, one that enables the
bridging and interconnection of data, content, and processes across business and IT silos.
4. The system should be capable of simultaneously pushing and pulling information
required by the user
There are a number of e-mail and RSS-based alert systems available on the internet, but a
truly personalized result on the scale of the web based on query is something that is envisioned
as a future capability.
Analysis
The ability of the employee to be part of the whole coordination process is something for
which even e-mail has fallen short. With e-mail, if the sender would like additional users to be
part of the mailing list, they have to be in the cc (carbon copy) list. Other coordination systems
used in project management do the same thing, features for sending notification and alerts are
pre-defined in the application. In short, a lot of applications do not offer the RSS features. With
the advent of RSS (Really Simple Syndication), which is typically used with news sites and
blogs to disseminate information, users can utilize that same concept and apply it in the
coordination process of bug tracking and other management tools. The remarkable power of
Semantic Wiki 70
syndication technology is the ability to subscribe and unsubscribe a page. As stated earlier,
much of the anxiety of information overload may in many cases be instead caused by e-mail
overload (Tjaden, 2007). The problem with e-mail is that, if a user is in the list and who does not
wish to be part of it, the user must convey this fact to the sender. With RSS, as long as the user
knows and has access to the page, he or she can subscribe or unsubscribe as desired. With e-mail
technology, posting a memo to a large number of people is not efficient, whereas in a wiki,
regular memos can be posted and subscribed to, and as a result, there is no need to send a group
message. The possibility of erroneous messages is also minimized. Using RSS, because
information is stored in the database, if there is something wrong with the message the user can
immediately edit the message and save it again.
Conclusion
Based on the four requirements of information discussed and analyzed in this chapter 1)
its capability to support communication and collaboration; 2) its capability to provide advanced
information retrieval techniques; 3) its capability to allow machine-understandable domain
knowledge to be shared across application boundaries; and 4) its capability of pushing
information required by the user while at the same time pulling information for the information
that may be of interest to others, semantic wikis offer the most functionalities and flexibilities for
effective and efficient information sharing relative to knowledge management systems of ASPs.
The most evident caveat in using wikis is the lack of user interface capabilities that are
available in MS Word and the printing capabilities available in almost any web-based application
that are not available in wikis. There rest of the important functionalities and flexibilities call for
the competitive advantage of the Semantic wiki-based knowledge management system.
Semantic Wiki 71
Semantic wikis are promising but complex in that anybody wishing to unlock their power
must have tacit and explicit knowledge of the processes involved; however, they are an evolving
information systems technology that researchers and IT practitioners are keen to explore. It is a
worthwhile exercise to explore and maximize the capabilities of semantic wikis in order to
improve information sharing for the knowledge management systems of ASP companies and
their clients, but it is also a significant challenge to the implementers and innovators of this
technology to determine how quickly this technology could be put into place in a company to
facilitate better information sharing among its users.
Semantic Wiki 72
CHAPTER 4
Semantic Wiki Knowledge-sharing Support in Managing Software Artifacts
Introduction
According to Davenport & De Long (1998), knowledge management systems are tools to
effect the management of knowledge and are manifested in a variety of implementations
including document repositories and context-specific retrieval systems incorporating
collaborative filtering technologies. In this chapter, the researcher investigates possible solutions
that will address the challenges of knowledge-sharing solutions in the context of the ASP Model
in managing software artifacts. In the search for answers, the researcher did the following:
identified the challenges, evaluated the solution, and presented current studies of the semantic
wiki.
Semantic Wiki Knowledge-sharing Support in Managing Software Artifacts
In Chapter 1, the research discussed the different requirements of knowledge-sharing. In
this chapter, the researcher will utilize the same requirements as an extension for further study,
only the requirements will be studied in the context of managing software artifacts.
1. Communication and collaboration support
In today’s global economy, software development teams are no longer confined to a
single location. In the ASP model, client services groups and IT groups are situated in diverse
locations (Figure 4.1). Client services are usually located in the area where most of the clients
are, while software development can be anywhere around the globe.
Semantic Wiki 73
Figure 4.1. Application Service Provider Groups
SDT 2
CSG 1
Software
Development
Client Services
Network Solution
Provider
SDT 4
SDT 3
SDT 1
CSG 2
CSG 4
CSG 4CSG 3
Managing software artifacts in a team environment, particularly in an ASP model, is
complex. A substantial coordination and communication effort is critical in the delivery of a
successful software solution. The success of the project is also dependent on how well each
member of each team performs their job. The role that the client services group plays in the
course of the software delivery process is crucial; their primary responsibility is to make certain
that the business requirements specified by the client are well-defined before they are sent to the
development group. Creating and managing requirements is challenging because of the
necessity of managing a contractual relationship. The client services group also needs to
effectively define and manage requirements to ensure the team is meeting customer needs,
staying on schedule, and staying within budget. The failure to manage client expectations and to
provide well-defined requirements has a domino effect on the entire team, which can lead to
time-consuming rework, inadequate deliveries, and budget overruns (The Standish Group
Report, 1995). Furthermore, collaboration among groups and team members is very important
and requires social skills and technological dynamics. Social skills allow the team members to
Semantic Wiki 74
function well in front of clients while making sure that the technical aspects of the solution are
possible and pragmatic.
―Collaboration is a recursive process where two or more people work together toward an
intersection of common goals…by sharing knowledge, learning, and building consensus‖
(Wikipedia.com). In the context of ASPs, collaboration happens when coordination takes place
between the client services group (CSG) and the software development group (SDG). The point
of contact for both the client and the SDG is the CSG. While CSG information gathering is
taking place with the client, the CSG is in constant communication with the SDG to make sure
that the requirements of the client are well understood and to make sure that any new
requirements are well supported by the ASP provider’s solution framework. During this
recursive process, a requirements management tool is necessary to make sure that every piece of
information is recorded for future analysis. E-mail is the one of the most commonly used tool in
collaboration process because there is no other feasible alternative solution. This can be
problematic because e-mail is not designed for collaboration. In a very long discussion, tracking
of information flow is complex and tedious while e-mailing bulky documents is not tolerable due
to file size constraints.
E-mail is an important information repository for personal information, but archiving e-
mail in a useful manner can be challenging. The disorganized collection of messages that
accumulates in a person’s inbox decreases the relevance and accessibility of individual
messages, which are often pushed out of sight by incoming items (Whittaker, Bellotti, &
Gwizdka, 2006). Much of the anxiety over information overload is caused by e-mail overload
(Tjaden, 2007).
Semantic Wiki 75
Software is a product of collaboration. Software development in this day and age is
generally a team effort. This does not mean that the team must start building the software from
nothing. In today’s era of open source technology, writing software from the ground up is not
advisable unless it is for something completely new and different. In other words, there is no
need to re-invent the wheel. Wikis are a product of open source technology. Cunningham
(1995) was the first developer of a wiki framework; from his work, other developers created their
own solutions based on Cunningham’s invention. When adapting open source technology for
their own purposes, may developers believe in two sometimes contradictory tenets: ―If isn’t
broken, don’t fix it‖ and ―If isn’t broken, try to make it better.‖ Open source technology allows
anyone to publish their work and then give other people permission to use it and adapt/enhance it
for their own needs. Examples of source code repositories used by the open source community
are the websites sourceforge.net (owned and operated by Source Forge, Inc.) and codeplex.com
(hosted by Microsoft).
Decker et al. (2008) state four main advantages of wikis for supporting collaboration and
knowledge exchange in the course of software development projects:
a) One place publishing: having a central place for publishing information often simplifies
communication between participants. Moreover, the content of the communication is
stored locally and can be used for other purposes (planning, documentation, etc.).
b) Simple and safe communication: the rules of wikis are easy, especially to software
developers who are used to source code editing. Simple access right mechanisms make
the communication more secure.
c) Easy linking: this is a major strength of wikis, especially when applied in the domain of
software engineering. A rising need in software projects is to be able to associate
Semantic Wiki 76
everything with everything. Especially in highly dynamic domains where changes occur
frequently, software engineers often need to associate participants and artifacts (such as
design models, communication objects, or a change request) with each other.
d) Description on demand: a user might link an object to a target, although the target does
not exist at the linking time. This makes it possible to create the target object whenever it
is needed. Linking becomes easier.
Semantic wikis support both planned and unplanned communication in a distributed
development context. A successful example of supporting planned communication is presented
in Siemens Global Studio Project (GSP) (Teece, 2000), where a wiki is deployed as a
management tool for meeting protocols in real life projects.
2. Support for sharing of knowledge across application boundaries
During the life cycle of the application, when there is a requirement to change the
functionality of an existing feature, software engineers often need to identify the software
artifacts relevant to the change request. Assessing software artifacts is not an easy task due to
the fact that many software projects have several versions and requirement documents are often
not updated. On some occasions, documents reside in different files and e-mails, which makes
it hard to find the current functionality without reading the application source code. Some
companies use repository solutions like Subversion (SVN) because they are excellent open
source version control systems and are available for free. SVN can operate across networks,
which allows it to be used by people on different computers. The possibility for several people
to modify and manage the same set of data from their respective locations fosters collaboration.
SVN manages files and directories and tracks the changes made to them over time. Using SVN,
work is versioned, so there is no reason for concern if an incorrect change is made to the data. If
Semantic Wiki 77
an incorrect change does occur, there is always a way to recover older versions of data and to
examine the history of how the data has been changed (Sussman, Fitzpatrick, & Pilato, 2005).
Ideally, an organization’s digitized information, whether it is stored on individual hard
drives, in e-mail, or in personal files, should be searchable as long as employees are willing to
share the information. File sharing, a practice of sharing computer files over a network, has been
a common network feature since the advent of local area networking. However, finding anything
in a network of unstructured information can be quite difficult. Because unstructured
information is only implicit, some degree of analysis of the document's semantics is required for
the computer to understand the document’s meaning.
According to Tim Berners (1996), widely considered the inventor of the web, ―The goal
of the web was to be a shared information space through which people (and machines) could
communicate.‖ It was also his original intent that this so called ―space‖ ought to span all sorts of
information, from different sources and a wide array of formats, from highly valued designed
material to spontaneous ideas. Today this concept is what we call the ―Semantic Web.‖
Most of us we know the term ―web page‖ because a website is made up of pages
accessible through a web browser by means of a Uniform Resource Locator (URL). However,
URLs were not part of the original design of the web. The three main components that were
originally proposed were the Uniform Resource Identifier (URI), Hypertext Transfer Protocol
(HTTP), and Hypertext Markup Language (HTML). The popularization of URLs as a medium
for locating websites happened as the use of the term became common among IT practitioners,
and as a result, URI became URL. It is still important, however, to understand both concepts.
The Universal Resource Locator refers to the subset of the Uniform Resource Identifier, so that
URL is the representation of primary access while URI is the identification of the resource by
Semantic Wiki 78
name (Berners, Fielding, & Masinter, 2005). Using SVN as a repository system, one must
navigate through the directory structure of the SVN repository by typing the URL into the
repository browser in order to access and locate files (Figure 4.2).
Figure 4.2. SVN Repository Browser
While URL is the mechanism to access the resource directly, URI is different—it is a
compact string of characters for identifying the abstract resource. This means a person doesn’t
access the physical location or directory structure directly (i.e.,
svn://svn.screwturn.eu/STW/Trunk/AclEngine-Tests) but rather by typing abstracted names. For
example, on the popular wiki website Wikipedia, if a person is interested in finding the definition
of ―web page,‖ he/she can type the URL ―http://en.wikipedia.org/wiki/Web_page‖ into his/her
web browser and the URL would redirect the person to the resource about the term ―web page‖
(Figure 4.3). Wikipedia was built based on the URI principle. WikiWord and WikiName are
synonymous—they are simply the word or combination of words, without intervening white
spaces, where the first letter of each component word is capitalized and the remaining letters are
in lower case (C2, n.d.). In the example about web page, the term is composed of two words, so
the WikiName of web page is ―Web_page.‖
Semantic Wiki 79
Figure 4.3. Wikipedia demonstration of an access page
The URI concept is one of the basic foundations of the web, and yet they are often
misunderstood, and their implementations and uses are sometimes incomplete or incorrect
(W3C, 2003). A common mistake, responsible for many implementation problems, is to
envision a URI as an equivalent to a filename within a computer system. This is wrong as URIs
have, conceptually, nothing to do with file systems. A URI should not show the underlying
technology (server-side content generation engine, script written in a computer language) used to
serve the resource. Using URIs to show the specific underlying technology means that one is
dependent on the technology used, which, in turn, means that the technology cannot be changed
without either breaking URIs or going through the hassle of ―fixing‖ them.
The four design principles (mentioned in the Chapter 2) Tim Berners (1996) envisioned
before the explosion of the web have not been fully utilized in our current web infrastructures.
For instance, the Microsoft implementation of the Internet Information Server (IIS) at this point
still uses the URL concept as opposed to the URI concept, and that is the reason users often get
an error message when visiting sites run by Microsoft IIS. Accessing via URL means accessing
Semantic Wiki 80
the source directly from its location or directory structure plus the actual name of resource file.
In the URL ―http://www.smileyberks.com/Portal/DesktopDefault.asp,‖ ―http‖ stands for
protocol, ―www.smileyberks.com‖ is the domain name, and ―/Portal/DesktopDefault.asp‖ is the
physical name of the resource file. A problem arises when the name of the resource file is no
longer ―DesktopDefault.asp‖ but rather ―DesktopDefault.aspx‖ because the owner of the site
converted the site the Microsoft’s latest implementation (which changed .asp files to .aspx files).
If someone were to reference this URL now, then the link would no longer work (Figure 4.4.).
To fix this issue, the site owner would have to go back to the page referencing the URL and
make the necessary adjustments. To reiterate Berners’s third principle of the web, ―Any attempt
to constrain users as a whole to the use of particular languages or operating systems was always
doomed to fail.‖ As he predicted, this is exactly the end result.
Figure 4.4. The page cannot be found
The popularity of wiki framework gave birth to what is now called the semantic wiki,
which is hybrid solution derived from the strengths of the semantic web (machine processable,
data integration, complex queries) and wiki (easy to use/contribute, strongly interconnected,
collaboration) technologies.
Semantic Wiki 81
Figure 4.5. Conceptual framework: sharing of knowledge across application boundaries
Semantic Wiki
User Interface (UI)
Repository
Software
Artifacts
(documents,
code, design
etc.)
Metadata
(RDF/OWL)
Retrieval component
Version
control
systems
(SVN)
Database
(SQL Server)
Bug tracking
Requirements Management
Semantic-Aware UI Apps
Software Development Plugins
Non-Technical UsersTechnical Users
Client Component
Server Component
Repository
Recall now the topic of this chapter: how can semantic wikis be leveraged as a solution to
integrate different applications used in managing software artifacts? Semantic wikis are an easy-
to-use platform for exchanging reusable knowledge and artifacts between and within software
projects. Semantic wiki support for reuse goes beyond its origin for supporting pattern reuse as
stated before. The linking features enable the reuse of requirements specifications,
documentation, testing instructions, lessons learned, etc.
The availability of machine-understandable domain knowledge and the means to inject
semantics-awareness to the traditional web infrastructure is expected to enable or enhance
navigation, personalization, and search functionalities (Tolksdorf, Paslaru, & Simperl, 2006). A
semantic web is like glue to put broken things back together; it is a concept envisioned by Tim
Berners (1996) since the day the web was conceptualized. A semantic web is the realization of
Tim Berners’ vision of inter-machine communication. The semantic web has four major
Semantic Wiki 82
components: URI as identifier, resource description framework (RDF) as language, RDF Schema
as metadata, and web ontology language (OWL) as a way to establish relationships. Lastly, it is
the future of service-oriented architecture (SOA), the solution to information silos, and the
backbone of semantic wikis.
In Figure 4.5 showed that by enabling different applications like Bug Tracking,
Requirement Management, and Software Development Integrated Development Environment
(IDE) to be semantic-aware, it would be possible to bridge and interconnect data, content, and
processes across business and IT silos.
SOA solutions have been created to satisfy business goals including easy and flexible
integration with legacy systems, streamlined business processes, reduced costs, innovative
service to customers, and agile adaptation and reaction to opportunities and competitive threats.
SOA is a popular architecture paradigm for designing and developing distributed systems
(Bianco, Kotermanski, & Merson, 2007). SOAs are complex systems consisting of a large
number of heterogeneous artifacts and documents. Their documentation and maintenance
involves diverse stakeholders such as developers and business experts. Because SOA involves
both technical (e.g., interfaces specifications) and textual documentation, SOA information is
often scattered in different information spaces, which causes substantial management effort.
Semantic wikis can serve as a foundation for a lightweight solutions to document and
maintain SOAs. They allow for informal documentation with low entry barriers, while providing
means for specifying formal relationships among concepts where needed. Additional
information can be derived by combining the asserted knowledge with existing specification
documents taken from external service repositories.
Semantic Wiki 83
The semantic wiki solution can be achieved by importing the structure of technical
artifacts, such as interface descriptions, into a knowledge base that serves as the basic structure
for browsing the SOA, providing a better overview for developers and business experts. Through
semantic connections between services, business objects, and domain concepts, it is possible to
gain a quick overview of the SOA, e.g., which services are using a certain business object. Since
this enables an easy access to explore the list of available services, it might also foster the reuse
of existing services. Semantic wikis enable an informal style of documentation while also
providing support to incorporate machine-interpretable knowledge about technical descriptions.
Thus, they allow collecting relevant information about an SOA at a central place that had
previously been maintained separately.
Software Development Plug-ins
WikiDoc (Zhao, 2006) and XSDoc (Aquiar, David, & Padilha, 2003) are two concrete
examples of software development plug-ins that clearly demonstrate the benefits of wikis for
software documentation. Software development plug-in is used to extend the functionality of
software development integrated development environment (IDE). In WikiDoc, java code
documentation can be added via a wiki interface by both programmers and non-programmers.
XSDoc enables the creation and annotation of software framework documents as well as the
integration of different content types (text, models, and source code). Using wikis as a
documentation infrastructure might be inefficient if paper-based high quality documentation is
needed (e.g., user manuals). In these cases, the organic structure (due to the natural and non-
predefined growth) of the wiki documentation and the informality of the content might affect the
quality of the document. Wiki documentation needs to be restructured, serialized, and adapted to
the target reader. However, wikis can still serve as an important aid for document writers.
Semantic Wiki 84
Bachmann and Merson (2005) represent their lessons learned from using a wiki-based tool for
architecture documentation. They argue that the advantage of being able to create and maintain
architecture documentation in a dynamic and collaborative way outweighs any other
disadvantages.
Bug Tracking
Wikis have also been used to capture and manage bugs and issues of software systems,
especially in distributed open source projects. In fact, bug tracking is a collaborative a
knowledge-intensive, and interdisciplinary task, which can perfectly be supported by wikis.
Again, the linking feature and the ease of posting are the key success factors for this wiki
application. System developers as well as users are able to post, comment on, link to, describe,
and collaborate in order to detect and fix issues. Trac is an example of a wiki-based bug-tracker
that allows relating wiki pages to issues and vice versa (Trac, n.d.). Furthermore, the code of a
project can be integrated as read-only documents.
Requirements and Traceability Management
Traceability enables the developer to trace requirements back to the stakeholders or forth
to the design concepts, source code, and test cases. Traceability is not exclusive to requirements.
Especially in largely distributed projects were change occurs frequently, developers and other
system stakeholders often need to trace artifacts and decisions to other artifacts, decisions,
models, and participants. It is often useful to trace a test case to the related components that
should be tested. A design goal might be also traced to non-functional requirements. A
management decision might be traced to a risk or to a design decision. Wikis offer an easy and
intuitive way to associate everything with everything. The links between wiki pages might be
interpreted as associations between data objects (i.e., the pages themselves). This makes
Semantic Wiki 85
information traceable to other information pieces across the project. Using XSDoc, the authors
of the study entitled ―Wiki Based Requirements Documentation of Generic Software Products‖
(Silveira, Faria, Aguiar, & Vidal, 2005) present a wiki-based requirements and traceability
management approach especially for customizable software. The relationship between specific
requirements and generic product characteristics is established mainly via configuration
parameters and associated configuration questions. Linking and viewing facilities support
traceability analysis.
Requirements Engineering
Decker et al. present an application scenario of semantic wikis in requirements
engineering (Decker, Eric Ras, Klein, & Hoecht, 2008). They augmented the wiki with
application and solution domain-specific ontologies. This provided means to manage the organic
growth inherent in the wiki approach. Annotating the knowledge created in requirements
elicitation based on ontologies enabled the wikis to offer relevant recommendations. For
instance, explicitly ―telling‖ the wiki that an object is an actor and that an actor instantiates a use
case allows wikis to recommend possible actors. Moreover, consistency checks (e.g., each actor
should initiate at least one use case) and cross project offering based on the capture of the user
context might add value to traditional wikis. Wikis are eligible platforms for requirements
engineering because they allow a very large number of spatially distributed stakeholders to
collaborate in defining the knowledge about the system. WikiReq explores the usage of this
platform for collaborative business process reengineering (Abeti, Ciancarini, & Moretti, 2008).
Documentation
Central documentation practices often cause problems for software developers and
project managers. In general, the main challenge is to keep the information up-to-date while
Semantic Wiki 86
change occurs. In addition, especially in largely distributed projects with overlapping
responsibilities, information quickly gets redundant and inconsistent. Wikis present a convenient
platform to address both information up-to-datedness and consistency. The easy-to-use update
mechanism enables all stakeholders to update information as soon as changes occur. This means
that the documentation process also gets distributed simultaneously with the development and
management activities. Also, the easy information linking in wikis reduces inconsistencies by
keeping the information in a central place (e.g., a wiki page) and referencing it if required
(Happel, Maalej, & Panagiotou, 2006).
3. Support for advanced information retrieval
In ASP environments, employees are commonly given the task of investigating a
problem. This is not a trivial task, especially if one is familiar with all of the facets of the
system. There are times when an subject matter expert (SME)’s expertise is needed, but SMEs
are not always available. In these cases, the best hope is to find the original written
documentation. Unfortunately, due to any of several reasons (lack of commitment to knowledge
sharing, lack of time to update documents, lack of conducive tools for knowledge sharing), the
documents may be outdated. There are also instances when updated documents are within the
SME’s computer hard drive and e-mails. Because of this, the necessary documents often cannot
be found.
As discussed in Chapter 1, the only searching approach supported by SVN is the full text
search; however, since the data is replicated on the client’s machine, there are desktop search
utilities developed by Google and Microsoft (i.e. Google Desktop and Windows Search) that can
be downloaded for free that allow text searches of a user's e-mails, computer files, music, photos,
chats, and web pages viewed. There are also enterprise search products designed for
Semantic Wiki 87
organizations to manage and search content inside and outside of their networks in a way that is
transparent and easy to understand. According to Gartner, the forecasted worldwide enterprise
search market will surpass $1.2 billion in total software revenue by 2010 (Gartner, 2008):
Enterprise search technologies are entering a new phase of deployment and use.
Technologies are maturing and now offer improved indexing, querying, presentation, and
drilldown of results,‖ said Tom Eid, research vice president at Gartner. ―However, by
itself the search function has limited value. The real value of search and information
access technologies is in the ongoing efforts needed to establish effective taxonomies, to
index and classify content of all kinds, in order to provide meaningful results.
As long as search and information access capability remains a compelling business
requirement at both the desktop and enterprise level, many vendors, from startups to
established vendors, will compete to provide basic and highly focused offerings,‖ said
Mr. Eid. ―However, no one vendor can solve all information access needs. Search and
information access is not a one-size-fits-all marketplace, and the market will continue to
develop, whether within individual devices, through organizational intranets, across the
web, or specialized in a digital asset type.‖ (Gartner, 2008)
An interesting development in the realization of the semantic web is the acquisition of a
company called Powerset by Microsoft. Powerset uses so-called ―semantic web‖ technology that
generates results based on an understanding of a word's meaning and the context of its use.
―Microsoft's acquisition of Powerset makes perfect sense and is probably the best shot at a
disruptive technology that might allow it to leapfrog Google,‖ says Andrei Hagiu, assistant
professor of strategy focusing on technology, at Harvard Business School (Holahan, 2008).
Semantic Wiki 88
According to the Project10X report, the advantages of using a semantic wiki are as
follows: a) Concept-based rather than language-based searching: queries span vocabularies,
languages, and search engines; b) Question answering rather than simple retrieval. Also,
overlaying ontologies and knowledge bases can integrate with major web search engines; c)
More richly structured content navigation, including multiple perspectives, multiple levels of
abstraction, dependency/contingency relationships, etc.
4. Support for advanced dissemination strategy
The ability of the employee to be part of the coordination process is something for which
even e-mail has fallen short. With e-mail, if the sender would like to receive additional e-mails
as part of the mailing list, he/she must be in the cc (carbon copy) list. Other coordination
systems used in project management do the same thing, providing built-in functionalities
encoded in the application to notify the desired receiver. The limitation of the process is that
adding a new person to the coordination list is not simple. Semantic wikis support Really Simple
Syndication (RSS), which is typically used with news sites and blogs to disseminate information.
We can utilize that same concept and apply it to the coordination process of bug tracking and
other management tools.
As discussed in Chapter 1, if e-mail is a cause of information overload, then improperly
managed e-mail may also cause network overload. People commonly receive an e-mail that
contains a very long discussion, which they may not read at all because it is so long. Sometimes
employees may also overload the company network by e-mailing very large files to several
people. An alternative usage of RSS in this situation is to integrate RSS technology into the
work flow process rather than sending e-mail. Instead of sending a long e-mail containing the
entire thread of discussion about a particular issue, the company could use RSS to notify
Semantic Wiki 89
subscribed users every time there are new updates to the discussion. An advantage of doing this,
in addition to being less taxing on the company’s e-mail servers, is that any information is no
longer stored in an employee’s e-mail inbox, so if the employee leaves the company, finding the
information contained in that employee’s discussion would be much easier.
Conclusion
Semantic wiki knowledge-sharing support for Application Service Providers’ internal
business unit in managing software artifacts were identified and conceptualized in a different
dimension. By applying the same set of requirements in knowledge-sharing, this chapter
highlights, on a pragmatic level, the issues and challenges that ASP client service groups (CSGs)
and software development groups (SDGs) are facing in the delivery of software solutions.
Collaboration and communication support was identified as an important aspect that
requires social skill and technological dynamics. The degree of coordination and communication
involved for CSGs and SDGs to perform their job requires a solution that is centralized, simple,
secure, scalable, and intuitive. Semantic wikis can be used as a coordination and communication
tool for gathering of requirements and sharing of ideas.
Semantic wikis’ support for sharing knowledge across application boundaries was
discussed in detail regarding the expansion of awareness and understanding of future
development initiatives. The semantic web was addressed as a solution for information silos and
for future service-oriented architecture strategies. Semantic wikis have promising applications
which can be leveraged by ASPs for bug tracking, requirement and traceability management,
requirements engineering, and documentation; this was presented as evidence of semantic
awareness potential. Because of its semantic awareness, a semantic wiki can be used as an
integrated application for advanced searching and context-aware navigation.
Semantic Wiki 90
Support for advanced information retrieval was identified as one of the most important
aspects of the system, because inability to locate valuable information when needed is cited as
one the most common issues that knowledge workers face today. Semantic wiki solutions for
today’s common issue of SMEs were addressed in several ways, such as: concept-based rather
than language-based searching; question answering rather than retrieval; richer structure content
navigation rather than the traditional forward linking. Desktop searches as well as enterprise
searches were also noted, proving that the need for efficient and effective ways to find pertinent
information is relevant in saving time, money, and effort. Semantic wikis have advanced
searching and retrieval functionality and can be used for tracing issues due to their advanced
content analysis feature.
Support for an advanced dissemination strategy was suggested as an area of
enhancement, moving from the traditional e-mail technique to an RSS technique. Examples
were presented to showcase different ways in which RSS can be used as solution for information
overload and network overload.
Semantic Wiki 91
CHAPTER 5
Semantic Wiki-based Knowledge Management System solution for the Requirements of
Software Artifacts Documentation
Introduction
In Chapter 3, the researcher proposed that semantic wikis are the most practical solution
to support the information sharing requirements of Application Service Providers, while in
Chapter 4, the researcher identified the challenges of managing software artifacts and presented
several alternative solutions. This chapter will focus more intensely the detailed requirements of
software artifacts documentation. The researcher will identify the requirements for creating and
maintaining software artifacts documentation. The requirements used by the researcher in this
evaluation were adapted from the study done by Carnegie Mellon University (CMU) entitled
―Experience Using the Web-Based Tool Wiki for Architecture Documentation.‖ (2005) CMU’s
study focused on the benefits and challenges of using a wiki-based collaborative environment to
create software architecture documentation. While the study done by CMU was on the
traditional wiki and specifically for architectural documentation, this researcher was able to
utilize their experiences and augmented the applicability of semantic wikis to address some of
the challenges the CMU researchers encountered in their study.
Requirements of Software Artifacts Documentation
Considering the latest semantic technology developments and innovations, the current
issue is still to find a single solution that can meet the requirements of software artifacts
documentation. The evidence presented in Chapters 1 and 2 indicated that the biggest challenge
Semantic Wiki 92
in using wiki is that it is less capable of providing advanced user interface (UI) functionalities
compared to Microsoft Word or any other Windows applications.
A document prepared using a web-based documentation tool can typically be structured
as linked web pages. Compared with documents written with a text-editing tool, web-oriented
documents typically consist of short pages (created to fit on one screen) with a deeper structure.
One page usually provides some overview information and has links to more detailed
information. When done well, a web-based document is easier for people to use to view
overview information. On the other hand, it can become more difficult to navigate if someone
needs more detail. Finding information can be more difficult in multi-page web-based
documents than in a single-file, text-based document unless a search engine is available.
Using a semantic wiki as a web-based documentation tool, we can see some solutions for the
given requirements:
1) Support for documents that contain text and diagrams. Software artifacts
documentation used throughout the life cycle of the application is comprised of different
artifacts which are categorized as source code, models, and documentation. Part of the life
cycle is the design stage, which involves the creation of design documents (Burback, 1998).
Therefore, the requirement is identify a solution that has both text editing and drawing
functionalities.
As discussed in Chapter 3, the limitation of wikis and the web-based application involves
the user interface. Even though a web page can contain text and multimedia, the capability it
can provide is purely read-only. Documentation is structured as link pages which are
suitable only for browsing and not for producing printed versions.
Semantic Wiki 93
Result of CMU Study: The inability of the wiki tool to deal with drawing is most likely its
biggest drawback.
Analysis: Wikis currently don’t support advanced user interface capable of producing
diagrams; however, with current technology, it is not impossible to add this feature to a wiki.
Gliffy.com is an example of rich internet application (RIA) that can create process flow
diagrams, organizational charts, floor plans, business processes, network diagrams, technical
drawings, user interface wire frames, and more using an online interface (Figure 5.1). Gliffy
is also capable of producing quality printing.
Figure 5.1. Gliffy online rich internet application for diagramming
According to Rafe Needleman, editor at large of CNET, Gliffy is going to be the online
replacement of Visio. Needleman says:
Like other online applications, it has inherent advantages over traditional
software. Collaboration is easier, for one. Although Gliffy doesn't offer
real-time group editing like Writely, Google Spreadsheets, or
SynchroEdit, it makes it easy for multiple users to work on a diagram in
Semantic Wiki 94
turns. Gliffy does track all changes made to a document. It's kind of like
a wiki in that way. (Rafe, 2006 )
Despite the dominance of Microsoft’s product suite in the consumer market, experts
consider the company to be far behind the times because they have not developed an internet-
ready application version of Visio.
It is important to understand that a semantic wiki is not the solution to application silos;
this solution lies in the semantic web. Therefore, if the Gliffy supports annotation metadata
like resource description framework (RDF), then it would be possible to integrate a semantic
wiki with Gliffy.
2.) Support for multiple views with elements and relations. Fixing bugs, adding new
functionalities, and deploying releases are the most common tasks after the initial launch of
an application. In order to accomplish these tasks, a structured view of information, which is
able to support relationships between views, is an important aspect of the solution.
Documentation should provide a smart navigation feature. If the developer, during the
problem investigation process, would like to find out in which release a certain incident bug
was resolved, he should be able to use an intelligent search and navigate through the site to
learn more about how the issue occurred, what might be the cause, and how the issue could
be related to another bug.
Views in a wiki can be created as a set of pages that are linked to one another. It is also
easy to create an overview page to help stakeholders select views. The linking feature and
the ease of posting are the key success factors for this type of wiki application. System
developers as well as users are able to post, comment on, link to, describe, and collaborate in
order to detect and fix issues.
Semantic Wiki 95
Result of CMU Study: The inability of wikis to understand architecture elements is a
drawback.
Analysis: It is true that the limitation of a traditional wiki is the inability to establish
relationships due to a lack of semantic awareness. However, semantic wikis can change the
way content is presented based on semantic annotations. This can be accomplished by
enriching pages by displaying semantically related pages in a separate link box, displaying
information that can be derived from the underlying knowledge base (e.g., a box with a
graphical tree of releases and bug fixes), or even rendering the content of a page in a different
manner that is more suitable for the context (e.g., multimedia content vs. text content). Trac
(Trac, n.d.) is an example of a wiki-based bug-tracker that allows relating wiki pages to
issues and vice versa. Furthermore, the code of a project can be integrated as read-only
documents. Trac is an enhanced wiki and issue tracking system for software development
projects. It uses a minimalistic approach to web-based software project management (Trac,
n.d.). Trac’s change log functionality is a good of example of how a wiki can support
multiple views with elements and relations (Figure 5.2).
Semantic Wiki 96
Figure 5.2. Trac’s integrated software configuration and project management
3.) Support for version control. Requirements gathering is a collaborative effort which means
that documentation usually has more than one author; therefore, version control and merging
capabilities would be helpful.
Wikis have version control for every page and provide the capability to show the
differences between versions. Furthermore, a page can be structured into sections, and any
section can be edited. This capability to segment pages should minimize possible concurrent
changes to the same document, supporting different team members editing the same
document or even the same page simultaneously. Although wikis support collaboration, they
have limited support for merging changes, baselining pages, or managing sets of pages. As
mentioned in Chapter 3, wikis do not have built-in capabilities for tracking changes like
Microsoft Word does.
Result of CMU Study: A discussion page is not coupled with a page version. When
reviewing comments, a team member could tell neither which version of the page was being
Semantic Wiki 97
discussed nor whether the comment was current or old. The team overcame this weakness by
mentioning the page version number in their comments as a standard practice.
Analysis: The issue that they encountered had nothing to do with a semantic wiki. What
they encountered was simply a limitation of the traditional wiki implementation and could be
addressed in succeeding versions of the traditional wiki (Figure 5.3).
Figure 5.3. Page revisions history
4.) Support for easy access. Throughout the life cycle of any project initiative, documents will
be read by a diverse group of stakeholders, requiring the documentation artifacts to be easy to
access and navigate. In an ASP model, some employees who are interfacing with the client
are also usually working remotely and have no access to the company’s virtual private
network (VPN). This must be considered in the selection process. The web-based pages
created with a wiki should be easy for most stakeholders to read. For developers who are
interested in seeing all of the details in a single place, a wiki might be more difficult to use.
Result of CMU Study: They encountered two issues here. First, the structure became more
complex as the amount of information grew, and they had no insight regarding which
Semantic Wiki 98
navigational features to use or how to use them in substantive architecture documentation.
The second problem was the expectation that all stakeholders would actually read the
documentation online to get the latest information. This did not happen, so they had a
problem with stakeholders coming to meetings with old versions of a document. If a
stakeholder has no reliable internet connection, then it is not advisable to rely on a wiki.
Therefore, the stakeholders relied on the last printed copy of the document that was available,
which was printed days before the meeting. By the time of the meeting, the information in
the wiki pages had been changed, causing confusion as participants referenced different
versions.
Analysis: In the first issue, it is imperative to make the inherent structure of the wiki—its
strong linking between pages—accessible to machines (agents, services) beyond mere
navigation. This is generally done by annotating existing navigational links with symbols
that describe their meaning. Virtually all semantic wikis allow annotating links by assigning
them to certain types. This ensures that every link carries meaning beyond mere navigation.
Regarding the second issue, it had nothing to do with the wiki. The issue is not the internet
connection; it is the implementation of the wiki. Depending on how a wiki is used, if the
wiki will be used only within a company’s network, then it is better to install the wiki locally
only. If it must be accessible outside of the company’s network, then the wiki should be
installed to make sure the site is accessible from the outside. In any case, the wiki should be
available internally at a minimum.
5.) Low cost. Because many stakeholders are potentially interested in the documentation, the
costs for the tool environment and system administration should be kept to a minimum.
Semantic Wiki 99
Wikis require a server connected to an intranet or the internet. In addition to network
connectivity and the wiki software itself, these elements are required: a web server (e.g.,
Apache HTTP Server), a relational database server (e.g., MySQL), and PHP. It is possible to
install a complete solution using solely free and open source software. On the server side,
the cost of installing and maintaining the wiki is related to the administration of the server.
Administration involves executing backups, installing version upgrades, setting user rights,
customizing functionality, and configuring localization. In practice, little maintenance is
required after installation. On the client side, there is no additional cost for the users of the
wiki since the only tool they need is a web browser. Therefore, the relative cost of a wiki is
inversely proportional to the number of users.
Result of CMU Study: The student team and customer were able to use the infrastructure did
so with no problems and at very little cost. The tool is robust and did not crash. One
incident, however, showed the strong dependency on a working infrastructure. For several
days, the team lost its server access and, with it, the ability to work on any documents. This
problem is not specific to the wiki; it applies to all server-based infrastructures (such as web
or mail servers) and can be solved with the usual measures, such as providing redundancy.
The problem does demonstrate that a working infrastructure is critical.
Analysis: To reiterate their recommendation, the issue of infrastructure is critical to almost
everything. It must be treated as a separate matter and with great importance.
6.) Support for change requests.
A wiki allows anyone to change content. When developers discover a problem in the
document, they can correct it immediately. Anyone interested in changes to a particular part
of the documentation can display what was changed, when, and by whom. According to
Semantic Wiki 100
CMU, when they rated the wiki against the list of architecture documentation requirements,
they concluded that wiki offers an acceptable solution.
Result of CMU Study: The student team did set up a feedback capability with its client,
allowing reviewers to comment on or change pages directly. Interestingly, the wiki-based
feedback never happened. The client provided feedback via e-mail and telephone
conferences. A feature that was intended to improve the communication between
stakeholders was not used. Wikis change this traditional feedback paradigm, and, therefore,
the users have to be reeducated.
Analysis: In Chapter 3, assumptions were noted that the success of a wiki is dependent on
the behavioral factor of the users. If they don’t take advantage of the technology, then it will
be rendered useless.
Conclusion
Challenges and issues of requirements of software artifacts documentation were
identified and analyzed in–depth in this chapter to isolate source of the problem. Results of
CMU’s study on the experiences of using a wiki for architecture documentation served as the
foundation of this chapter. Lessons learned on each requirement served as a baseline for a better
semantic wiki solution. From the CMU study using traditional wikis, the biggest drawback
indicated was the inability of the wiki to deal with the creation of drawings. It was argued that
although support for this kind of feature is not available, a solution is not far from reality. The
inability of a wiki to understand architecture was something that the traditional wiki failed to
address but that semantic wikis are now capable of. The desire for version control to identify the
version of the page being discussed can be possibly addressed by enhancing the wiki. This
enhancement had nothing to do with the semantic wiki. The requirement for easy access to
Semantic Wiki 101
documentation was comprised of two separate issues: the unstructured nature of the wiki and the
accessibility of the wiki when an internet connection is not available. The issue of a wiki being
unstructured is no longer a concern with semantic wikis because they can do more than mere
navigation. The network accessibility problem was a wiki deployment concern and had nothing
to do with the wiki as an application. The low cost requirement reflects the nature of all wikis,
which can be implemented as open source solutions at no cost. The requirement for use of the
change request feature was not a technological issue but rather a human factor. This will require
user reeducation as software is a simply tool, and if it is not used, it is rendered useless.
Semantic Wiki 102
CHAPTER 6
Summary, Conclusion and Recommendations
Introduction
This study looked into the dynamics of the solution being provided by semantic wiki-
based knowledge management system for application service providers in managing software
artifacts. This study serves as the baseline information for ASP companies and IT departments
that are in the software solution (programmers, software architect, software engineer, etc.) for
them to know the important features and capabilities of semantic wiki-based knowledge
management system as compared to the other widely used knowledge management system for
software artifacts. The information which could be derived from the analysis of this study could
help the IT managers and company executives in the information technology companies to
understand the differences of semantic wiki-based knowledge management system and the
earlier system used by ASP companies in documenting software artifacts.
The output of this study could also be beneficial to new knowledge management system
development practitioners. It would enable them to find other potential fields or areas of
expertise in the wiki-based knowledge management, which would improve or upgrade their
skills for a semantic wiki-based knowledge management system capability and also for
technological advancement.
The purpose of this study is to determine the following: How can Semantic Wiki be
implemented and used to share domain knowledge, and used to be able to create, search,
navigate, collaborate and manage software artifacts?
To answer this question, the following sub questions were addressed:
Semantic Wiki 103
4) What makes semantic wiki-based knowledge management system a good solution for the
information sharing requirements of Application Service Providers?
5) How can we leverage semantic wiki as a solution for knowledge management in
managing software artifacts?
6) What Are the Requirements of Software Artifacts Documentation and How Can
Semantic Wiki Address Those Requirements?
The research methodology used for this study was a qualitative nature. It was obtained
from secondary sources. Sources pertinent to the main research question and three defining sub-
questions, which formulated this research project, were sought. Descriptive and comparative
analyses to answer the main research question and three defining sub-questions were done.
Secondary research information was obtained from primary research sources, including scholarly
books; conference proceedings, peer-reviewed journals; unpublished research papers; any data
that has been published by private or nonprofit organizations (this includes not for profit
organizations) and information available from a college, university, or trade school.
Summary
Based on the four requirements of information sharing discussed and analyzed in chapter
3, 1) its capability to support communication and collaboration; 2) its capability to provide
advanced information retrieval techniques; 3) its capability to allow machine-understandable
domain knowledge to be shared across application boundaries; and 4) its capability of pushing
information required by the user while at the same time pulling information for the information
that may be of interest to others, semantic wikis offer the most functionalities and flexibilities
for effective and efficient information sharing relative to knowledge management systems of
ASPs.
Semantic Wiki 104
It is also important to note that the most evident caveat in using wikis is the lack of user
interface capabilities which are available in MS Word and the printing capabilities available in
almost any web-based application that are not available in wikis. The rest of the important
functionalities and flexibilities are call for the competitive advantage of Semantic wiki-based
knowledge management system.
Semantic wikis are promising but complex in that anybody wishing to unlock their power
must have tacit and explicit knowledge of the processes involved; however, they are an evolving
information systems technology that researchers and IT practitioners are keen to explore. It is a
worthwhile exercise to explore and maximize the capabilities of semantic wikis in order to
improve information sharing for the knowledge management systems of ASP companies and
their clients, but it is also a significant challenge to the implementers and innovators of this
technology to determine how quickly this technology could be put into place in a company to
facilitate better information sharing among its users.
Semantic wiki knowledge-sharing support for Application Service Providers’ internal
business unit in managing software artifacts were identified and conceptualized in a different
dimension. By applying the same set of requirements in knowledge-sharing, chapter 4 highlights,
on a pragmatic level, the issues and challenges that ASP client service groups (CSGs) and
software development groups (SDGs) are facing in the delivery of software solutions.
Collaboration and communication support was identified as an important aspect that
requires social skill and technological dynamics. The degree of coordination and communication
involved for CSGs and SDGs to perform their job requires a solution that is centralized, simple,
secure, scalable, and intuitive. Semantic wikis can be used as a coordination and communication
tool for gathering of requirements and sharing of ideas.
Semantic Wiki 105
Semantic wikis’ support for sharing knowledge across application boundaries was
discussed in detail regarding the expansion of awareness and understanding of future
development initiatives. The semantic web was addressed as a solution for information silos and
for future service-oriented architecture strategies. Semantic wikis have promising applications
which can be leveraged by ASPs for bug tracking, requirement and traceability management,
requirements engineering, and documentation; this was presented as evidence of semantic
awareness potential. Because of its semantic awareness, a semantic wiki can be used as an
integrated application for advanced searching and context-aware navigation.
Support for advanced information retrieval was identified as one of the most important
aspects of the system, because of its inability to locate valuable information when needed is cited
as one the most common issues that the different knowledge workers faced today. Semantic wiki
solutions for today’s common issue of SMEs were addressed in several ways, such as: concept-
based rather than language-based searching; question answering rather than retrieval; richer
structure content navigation rather than the traditional forward linking. Desktop searches as well
as enterprise searches were also noted, proving that the need for efficient and effective ways to
find pertinent information is relevant in saving time, money, and effort. Semantic wikis have
advanced searching and retrieval functionality and can be used for tracing issues due to their
advanced content analysis feature.
Support for an advanced dissemination strategy was suggested as an area of
enhancement, moving from the traditional e-mail technique to an RSS technique. Examples were
presented to showcase different ways in which RSS can be used as solution for information
overload and network overload.
Semantic Wiki 106
Challenges and issues of requirements of software artifacts documentation were
identified and analyzed in–depth in chapter 5 to isolate the source of the problem. Results of
CMU’s study on the experiences of using a wiki for architecture documentation served as the
foundation of this chapter. Lessons learned on each requirement served as a baseline for a better
semantic wiki solution. From the CMU study using traditional wikis, the biggest drawback
indicated was the inability of the wiki to deal with the creation of drawings. It was argued that
although support for this kind of feature is not available, a solution is not far from reality. The
inability of a wiki to understand architecture was something that the traditional wiki failed to
address, but semantic wikis are now capable of. The desire for version control to identify the
version of the page being discussed can be possibly addressed by enhancing the wiki. This
enhancement had nothing to do with the semantic wiki. The requirement for easy access to
documentation was comprised of two separate issues: the unstructured nature of the wiki and the
accessibility of the wiki when an internet connection is not available. The issue of a wiki being
unstructured is no longer a concern with semantic wikis because they can do more than mere
navigation. The network accessibility problem was a wiki deployment concern and had nothing
to do with the wiki as an application. The low cost requirement reflects the nature of all wikis,
which can be implemented as open source solutions at no cost. The requirement for use of the
change request feature was not a technological issue but rather a human factor. This will require
user reeducation as software is simply a tool, and if it is not used, it is rendered useless.
Conclusion and Recommendations
Based on the analysis which the researcher made in this study, a semantic wiki-based
knowledge management system is the best solution for application service providers (ASPs) in
managing their software artifacts.
Semantic Wiki 107
This study is intended to help ASPs understand the capabilities of semantic wikis as a
knowledge management solution for managing software artifacts. This study can serve as
baseline information for ASP and IT department professionals who are implementing the
software solution (programmers, software architects, software engineers, etc.). The study may
also encourage more people in the IT profession to learn about and specialize in semantic wiki-
based knowledge management systems development and semantic wiki-based solutions and
innovations. Additionally, the study promoted that knowledge sharing should be enhanced
among practitioners for both the ASPs and their clients. Furthermore, the results of this study
indicated the wisdom of utilizing semantic wiki-based knowledge management systems for ASPs
in managing software artifacts. The results suggested that it is important for the different
software development teams in an ASP to understand the various ways a semantic wiki can be
used for sharing common knowledge. Lastly, recommendations of the study can be used to
support the implementation of semantic wiki-based knowledge management systems for ASPs in
managing software artifacts.
Some of the recommendations the researcher identified include: For the implementers of
semantic wiki-based knowledge management systems, the four requirements of information
sharing should always be present in the system to effectively and efficiently share the
information among stakeholders. For companies not yet using semantic wiki-based technology in
their knowledge management system, it is recommended that they find ways to utilize the
technology and maximize the capabilities of semantic wikis to benefit their companies and
improve their information sharing. As collaboration and communication support was identified
as one of the most important aspects of knowledge-sharing, and communication of that degree
requires social skills and technological dynamics, it is recommended that the degree of
Semantic Wiki 108
coordination and communication among Customer Support Groups (CSGs) and Software
Development Groups (SDGs) should be improved, particularly in the areas of gathering of
requirements and sharing of ideas using semantic wikis. It is also recommended that new
adopters of a semantic-wiki based knowledge management system maximize the capabilities of
this technology in integrating different applications such as advanced searching, context-aware
navigation, bug tracking, requirement and traceability management, requirements engineering,
and documentation. The study recommended that the implementation of semantic wiki-based
knowledge management systems could help ASPs save money, time and effort when the
technology is used in managing software artifacts, because semantic wikis have advanced
searching and retrieval functionality which could be used for tracing system bug issues and
problems during advanced content analysis of information system. This enhancement will serve
as the solution for the previously encountered problems of information and network overload by
serving as a support mechanism for an advanced dissemination strategy, which was suggested as
an area of enhancement that could be achieved by semantic wikis (particularly in moving from
traditional e-mail techniques to an RSS technique). The semantic wiki technology is a good
application resource for the implementation of low-cost open source solutions, and the lack of
use of the change request feature could be addressed by re-educating users with human factor
consideration. It is also important to consider that the desire for version control in documenting
software artifacts can be addressed using semantic wiki technology. For this reason, it is
recommended that semantic wikis should be considered as a tool to be used to make people’s
lives easier because of its technological advancement, and organizations should consider the
social aspect of implementing this technology. It is also important to include that an
interdisciplinary/transdisciplinary approach increases the usefulness of any solution to the
Semantic Wiki 109
different issues of knowledge management, ensuring a holistic information management system
among ASPs, information technology practitioners, and relevant stakeholders. Lastly, it is
recommended that the government, private sector, and industry associations to join hands in
implementing more research in the area of knowledge management and knowledge management
systems in order to continue improving the information and knowledge-sharing available among
these stakeholders in different sectors of society that use these technologies to provide a better
work environment and improved access to information in their organizations in the coming
years.
Semantic Wiki 110
REFERENCES
Abeti, L., Ciancarini, P., & Moretti, R. (2008). Wiki-based requirements management for
business process reengineering. WikiSym. Porto, Portugal.
Alavi, M., & Leidner, D. E. (1999, February). Knowledge management systems :
Issues,challenges, and benefits. Communications of the Association for Information
Systems .
Antoniou, G., & Harmelen, F. V. (2004). A Semantic Web Primer. Cambridge Massachusetts
USA: MIT Press.
Aquiar, A., & David, G. (2005). WikiWiki weaving heterrogeneous software artifacts. WikiSym
'05 (pp. 67-74). San Diego, CA, USA.: ACM.
Aquiar, A., David, G., & Padilha, M. (2003). XSDoc: an extensible wiki-based infrastructure for
framework documentation. Retrieved April 24, 2009, from
http://paginas.fe.up.pt/~aaguiar/xsdoc/XSDoc-JISBD-2003.pdf
Argote, L. (1999). Organizational learning: creating, retaining and transferring knowledge.
Norwell, MA, USA: Kluwer.
Aumueller, D., & Auer, S. (n.d.). Towards a semantic wiki wxperience - desktop integration and
interactivity in WikSAR. Augustusplatz, Liepzig, Germany.
Bachmann, F., & Merson, P. (2005, September). Experience using the web-based tool wiki for
architecture documentation. Retrieved May 25, 2009, from
http://www.sei.cmu.edu/pub/documents/05.reports/pdf/05tn041.pdf
Balani, N. (2005). The future of the web is semantic. Retrieved June 1, 2009, from
http://www.ibm.com/developerworks/web/library/wa-semweb/
Berners, T. (1996). The world wide web: past, present and future. Retrieved May 25, 2009, from
http://www.w3.org/People/Berners-Lee/1996/ppf.html
Berners, T., Fielding, R., & Masinter, L. (2005, January). Uniform resource intentifier (URI) :
Generic syntax. Retrieved May 25, 2009, from
http://labs.apache.org/webarch/uri/rfc/rfc3986.html#URLvsURN
Bianco, P., Kotermanski, R., & Merson, P. (2007). Evaluating a service-oriented architecture.
Retrieved June 06, 2009, from
http://www.sei.cmu.edu/pub/documents/07.reports/07tr015.pdf
Semantic Wiki 111
Bobsguide.com. (n.d.). Business process outsourcing solutions. Retrieved June 19, 2009, from
bobsguide.com: http://www.bobsguide.com/guide/BPO.html
Borland, R. J., & Tenkasi, R. V. (1995). Perspective making and perspective taking in
communities of knowing. Organization Science , 350-372.
Boyd, S. (2005). Are you ready for social software? Retrieved May 31, 2009, from
http://www.stoweboyd.com/message/2006/10/are_you_ready_f.html
Brannstrom, M., & Martenson, C. (2006). Enhancing situational awareness by exploiting wiki
technology. Retrieved May 25, 2009, from
http://www.foi.se/infofusion/bilder/CIMI_2006_S3_2.pdf
Breitman, K., Casanova, M., & Truszkowski, W. (2006). Semantic web: concepts, technologies
and applications. London, UK: Springer Science+Business Media, LLC.
Brown, J. S., & Duquid, P. (1991). Organizational learning and communities of practice: Toward
a unified view of working learning innovation. Organization Science , 40-57.
Buffa, M., & Gandon, F. (2006). SweetWiki: semantic web enabled. WikiSym (pp. 69-78).
Odense, Denmark: ACM.
Burback, R. (1998). The design phase . Retrieved June 19, 2009, from
http://infolab.stanford.edu/~burback/watersluice/node11.html
C2. (n.d.). Portland pattern repository. Retrieved May 25, 2009, from http://c2.com/cgi/wiki?
C2. (2009). Wiki design principles. Retrieved June 19, 2009, from
http://www.c2.com/cgi/wiki?WikiDesignPrinciples
Cattaneo, F., Nitto, E. D., Fuggetta, A., Lavazza, L., & Valetto, G. (2000). Managing software
artifacts on the web with Labyrinth. International Conference on Software Engineering
(pp. 746-749). Limerick, Ireland : ACM.
Chau, T., & Maurer, F. (2005). A case study of wiki-based experience repository at a medium-
sized software company. Proceedings of the 3rd international conference on Knowledge
capture (pp. 185 - 186). Banff, Alberta, Canada: ACM.
Cheung, K. S., Lee, F. S., & Ip, R. K. (2005). The development of successful on-line
communities. International Journal of The Computer, the Internet and Management , 71-
89.
Collins, B. S., Fitpatrick, B. W., & Pilato, M. C. (n.d.). Version control with subversion.
Retrieved May 25, 2009, from svnbook.com: http://svnbook.red-
bean.com/en/1.5/svn.basic.vsn-models.html
Semantic Wiki 112
Cummings, J. (2003). Knowledge sharing. Retrieved May 30, 2009, from
http://lnweb90.worldbank.org/oed/oeddoclib.nsf/docunidviewforjavasearch/d9e389e7414
be9de85256dc600572ca0/$file/knowledge_eval_literature_review.pdf
Davenport, T. G., De Long, D. W., & Beers, M. B. (1997, January). Building successful
knowledge management projects. Retrieved May 30, 2009, from
http://www.providersedge.com/docs/km_articles/Building_Successful_KM_Projects.pdf
Davenport, T. H., & De Long, D. W. (1998). Successful knowledge management projects. Sloan
Management Review .
Davis, M. (2006). Semantic wave 2006 - part-1: Executive guide to billion dollar Markets. A
Project10X special report.
Decker, B., Eric Ras, J. R., Klein, B., & Hoecht, C. (2008, 2008). Self-organized reuse of
software engineering knowledge supported by semantic wikis. Retrieved June 1, 2009,
from http://en.scientificcommons.org/40499741
Desilets, A., Paquet, S., & Vinson, N. (2005). Are wiki usable? WikiSym (pp. 3-14). San Diego,
CA, USA: ACM.
Do Factory. (n.d.). Design patterns. Retrieved May 25, 2009, from
http://www.dofactory.com/Patterns/Patterns.aspx
Drucker, P. (1993). Post-capitalist society. New York, NY: HarperBusiness.
Fielding, R. (2000). Architectural styles and the design of network-based software architectures.
Retrieved May 25, 2009, from http://www.ics.uci.edu/~fielding/pubs/dissertation/top.htm
File Maker. (2007). Business information silos survey. Retrieved May 25, 2009, from
http://www.filemaker.co.uk/frustrated/downloads/FM_Silo_Ex_Sum.pdf
Gartner. (2008, Feb 5). Gartner says worldwide enterprise search market will surpass $1.2
billion in total software revenue by 2010. Retrieved June 2005, 2009, from Gartner:
http://www.gartner.com/it/page.jsp?id=596407
Gillingham, H., & Roberts, B. (2006). Implementing knowledge m: A practical approach.
journal of knowledge management practice .
Gonzales, J. R. (2005, February). Wiki and the wiki way: beyond a knowledge management
solution. Retrieved May 25, 2009, from
http://www.uhisrc.com/FTB/Wiki/wiki_way_brief%5B1%5D-Jennifer%2005.pdf
Hahn, J., & Subramani, M. (2000). A framework of knowledge management system issues:
Issues and challenges for theory and practice. International Conference on Information
Semantic Wiki 113
Systems (pp. 302-312). Brisbane, Queensland, Australia: Association for Information
Systems: Atlanta, GA, USA.
Happel, H.-J., Maalej, W., & Panagiotou, D. (2006). Tightening knowledge sharing in distributed
communities by applying semantic technologies. Information Society Technologies.
Herman, I. (2009). W3C semantic web activity. Retrieved May 25, 2009, from
http://www.w3.org/2001/sw/
Holahan, C. (2008, July 1). Microsoft's plan b for search. Retrieved June 5, 2009, from
http://www.businessweek.com/technology/content/jun2008/tc20080630_349921.htm
IBM. (n.d.). Pattern solution. Retrieved May 25, 2009, from IBM:
http://www.ibm.com/developerworks/rational/products/patternsolutions/#i
Ives, W., Torrey, B., & Gordon, C. (2003). Knowledge sharing is human Behavior, in:
Knowledge management: classic and contemporary work. Cambridge MA: MIT Press.
KPMG Management Consulting. (1998). Knowledge management research report.
Lindvall, M., Feldmann, R. L., Karabatis, G., Chen, Z., & Janeja, V. P. (2009). Searching for
relevant software change artifacts using semantic. SAC'09 (pp. 496-500). Honolulu, HI,
USA: ACM.
Lo, B. W. (2003). The application service provider-cliet relationship and knowledge sharing. 2nd
IASTED International Conference, (pp. 407-086). Scottsdale,AZ,USA.
Miller, W. L., & Morris, L. (1999). Fourth generation r&d: Managing knowledge, technology,
and innovation. Hoboken NJ: Wiley.
Mullick, Bass, Houda,Paulish & Cataldo. (2006). Proceedings of the IEEE international
conference on global software engineering (pp. 203 - 212). Washington, DC, USA: IEEE
Computer Society.
Nonaka, I. (1994, February). A dynamic theory of organizational knowledge creation.
Organization Science , 14-37.
Nonaka, I., & Takeuchi, H. (1995). The knowledge-creating company: How Japanese
companies create the dynamics of innovation. New York: Oxford University Press.
O’Brien, D., Bernoff, J., Sorley, J., & Flemming, G. (2001). Portals squeeze business media.
Cambridge, MA USA: Forrester Research, Inc.
Oren, E., Breslin, J. G., & Decker, S. (2006). How semantics make better wikis. www.
Edinburgh, Scotland: ACM.
Semantic Wiki 114
Philips, C. (2007, March). Beyond recruiting and retention. Retrieved May 25, 2009, from
http://download.microsoft.com/download/2/a/1/2a11a642-2804-4de9-b186-
7341768a8803/Energy%20EyeOpener%20FINAL%20presentation%20May14%20no%2
0notes.ppt
Polanyi, M. (1967). The tacit dimension. Garden City, NY, USA: Doubleday.
Rafe, N. (2006 , June 27). Gliffy, the online visio killer. Retrieved June 05, 2009, from
http://news.cnet.com/8301-10784_3-6088621-7.html?tag=newsmap
Rahmel, D. (2007). Professional Joomla. John Wiley and Sons.
Sarnikar, S., & Zhao, L. (n.d.). Task-centric document recommendation via context-specific
terms. Retrieved June 4, 2009, from http://www.aaai.org/Papers/Workshops/2006/WS-
06-12/WS06-12-009.pdf
Schaffert, S., Westenthaler, R., & Gruber, A. (2006). IkeWiki: A user-friendly semantic wiki.
3rd European Semantic Web Conference (ESWC). Budva, Montenegro: Salzburg
Research Forschungsgesellschaft.
SemWiki.org. (n.d.). Retrieved June 19, 2009, from http://www.semwiki.org/
Silveira, C., Faria, J. P., Aguiar, A., & Vidal, R. (2005). Wiki based requirements documentation
of generic software products. AWRE’05, the Tenth Australian Workshop on Requirements
Engineering, (pp. 42-51). Melbourne, Australia.
Steve, M. (2004). Software engineering, not computer science. Boston, MA, USA: Addison-
Wesley.
Small, C., & Sage, A. (2005/2006). Knowledge management and knowledge sharing: A review.
information knowledge systems management , 153-169.
Sundar, S., Oeldorf-Hirsch, A., & Xu, Q. (2008). The bandwagon effect of collaborative filtering
technology. CHI 2008 Proceedings (pp. 3453-3458). Florence, Italy: ACM.
Sussman, B. C., Fitzpatrick, B. W., & Pilato, M. C. (2005). Version control with subversion (2nd
Edition ed.). O'Reilly Media.
Teece, D. (2000). Strategies for managing knowledge assets: The role of firm structure and
industrial context. Long Rang Planning , 35-54.
The Standish Group Report. (1995). The Standish group report chaos.
Tjaden, T. (2007, June 26). Combating information overload. Retrieved May 25, 2009, from
http://www.slaw.ca/2007/06/26/combating-information-overload/print/
Semantic Wiki 115
Tolksdorf, R., Paslaru, E., & Simperl, B. (2006). Towards wikis as semantic hypermedia.
WikiSym 2006 (pp. 78-88). Odense, Denmark: ACM.
Trac. (n.d.). Retrieved June 05, 2009, from Trac: http://trac.edgewall.org/
Trac. (n.d.). Retrieved June 05, 2009, from Trac: http://www.hosted-
projects.com/trac/TracDemo/Demo/about
Tsai, W., & Ghoshal, S. (1999). Social capital and value creation: The role of intrafirm networks.
Academy of Management Journal , 464-476.
Von Krogh, G., Ichijo, K., & Nonaka, I. (2000). Enabling knowledge creation. Oxford: Oxford
University Press.
W3C. (2003). Common http implementation problems. Retrieved May 25, 2009, from
http://www.w3.org/TR/2003/NOTE-chips-20030128/
Wagner, C. (2004). Wiki: A technology for conversational knowledge management and group
collaboration. Communication of the Association for Information , 265-289.
Webster, P. (2009, May 28). Breaking down information silo:Integrating online information.
Information Today Inc. , pp. 30-34.
Whittaker, S., Bellotti, V., & Gwizdka, J. (2006). Email in personal information management.
Communication of the ACM , 68-73.
Xiao, W., Chi, C., & Yang, M. (2007). On-line collaborative software development via wiki.
WikiSym '07 (pp. 177-183). Montreal, Quebec, Canada: ACM.
Zhao, J. (2006). WikiJavadoc - A collaborative documentation system for java. Retrieved June
02, 2009, from http://www.inf.fu-
berlin.de/inst/agse/theses/wikidoc/ZhaoJ06_WikiDoc.pdf
Semantic Wiki 116
List of Tables
Table 3.1. Communication and Collaboration Criteria Comparison
Table 3.2. Information Retrieval Techniques Comparison
Semantic Wiki 117
List of Figures
Figure 4.1. Application Service Provider Groups
Figure 4.2. SVN Repository Browser
Figure 4.3. Wikipedia demonstration of an access page
Figure 4.4. The page cannot be found
Figure 4.5. Conceptual framework: sharing of knowledge across application boundaries
Figure 5.1. Gliffy online rich internet application for diagramming
Figure 5.2. Trac’s integrated software configuration and project management
Figure 5.3. Page revisions history
Semantic Wiki 118
Appendix A – Conversational Technologies
Table 2.1. Conversational Technologies (Wagner, 2004)
E-mail E-mail is predominantly a one-to-one or one-to-many conversation tool
without a central knowledge repository or knowledge organization facility
(unless provided as value-added features of the e-mail software). E-mail is
the most essential IT based communication technology and the most
widely used after the telephone.
Static and
database-backed
web pages
Promoted by numerous free ISP services, Internet users broadcast their
knowledge (e.g., within Geocities), or organized and commented on other
people’s knowledge (e.g., About.com). The ―conversation‖ mode is
generally one-to-many. But, due to the multitude of broadcasters, it can be
considered an unstructured, many-to-many conversation where
communicators answer each other not directly, but through new posts on
their web sites.
Discussion forum Discussion forums are a key online conversational knowledge exchange
and the core technology for many on-line communities. The leading on-line
community hosts (such as ezboard.com) manage the discussions of
millions of communities1. Conversations are many-to-many, frequently
with threaded discussions.
Internet chat /
instant messaging
Instant messaging is promoted through a number of free services, including
ICQ and AOL Instant Messenger, each of which serves tens of millions of
users. Instant messengers enabled multiple conversation modes from one-
tomany to many-to-many.
Video and audio
streaming
Video and audio streaming emerged as a popular technology for
broadcasting (one-to-many communication). Unfortunately, almost all
video and audio streams are neither indexed nor search engine friendly.
When streams are recorded, they facilitate different-time communication.
Also, records of communications require significant storage space, transfer
speed, and human time to read them.
Video and audio
conferencing
.. Video and audio conferencing are popular for one-to-one or one to-many
communication, with partners meeting at the same time. Results can be
recorded, but are usually not indexed and not search engine friendly. Also,
records of communications require significant storage space, transfer
speed, and human time to listen to them
Group decision
support system
(GDSS).
Throughout the last two decades, GDSS have been a highly popular
technology for small and medium-size groups meeting typically face-to-
face and at the same time. Their objective is not so much knowledge
management, but collaborative idea generation (group brainstorming) and
consensus development. Nevertheless, GDSS were used in a number of
other application areas, including, for example, negotiation, learning, and
Semantic Wiki 119
crisis response, some of which do have a considerable knowledge
management component.
Ad-hoc knowledge . Knowledge users are likely unable to specify their knowledge needs a
priori.
As a result, they rely on a just-in-time knowledge management tool that
can satisfy the needs as they arise, i.e., a tool that incorporates fast question
answering system. Users want to find knowledge if it is available in the
system. Since today’s advanced search engines such as Google employ not
only basic keyword search, but also more advanced hyperlink and
hyperlink popularity interpretation, users will benefit from a tool which is
―search (engine) friendly‖, and thus keyword oriented, hyperlinked, and
indexed.
Weblog. A Weblog, is a personal web page, kept by the author in reverse
chronological diary form. It is a ―log on the web‖ and a ―log of the web‖.
As a log on the web, it is kept first and foremost on the web, either on a
static web page, or via a database-backed website, enabled through
―blogging‖ software. As a log of the web, it frequently refers to other
Internet locations via hyperlinking.
Wiki. A Wiki is described as a set of linked web pages (and the application
enabling its development), created through the incremental development by
a group of collaborating users. The Wiki’s uniqueness lies both in its
software and in the use of the software by collaborating members.
Top Related