Semantic Wiki

4,026 views
3,919 views

Published on

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.

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
4,026
On SlideShare
0
From Embeds
0
Number of Embeds
0
Actions
Shares
0
Downloads
47
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Semantic Wiki

  1. 1. 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
  2. 2. 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.
  3. 3. 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.
  4. 4. 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
  5. 5. 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
  6. 6. 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).
  7. 7. 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
  8. 8. 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
  9. 9. 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
  10. 10. 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
  11. 11. 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
  12. 12. 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
  13. 13. 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?
  14. 14. 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
  15. 15. 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
  16. 16. 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
  17. 17. 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.
  18. 18. 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
  19. 19. 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
  20. 20. 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
  21. 21. Semantic Wiki 16 semantics, defining exactly how the information elements should be interpreted by a computer program or end-user.
  22. 22. 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
  23. 23. 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,
  24. 24. 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
  25. 25. 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
  26. 26. 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:
  27. 27. 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
  28. 28. 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.
  29. 29. 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.
  30. 30. 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
  31. 31. 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.
  32. 32. 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.
  33. 33. 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.
  34. 34. 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
  35. 35. 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
  36. 36. 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).
  37. 37. 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 &
  38. 38. 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).
  39. 39. 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
  40. 40. 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-
  41. 41. 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).
  42. 42. 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.
  43. 43. 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
  44. 44. 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
  45. 45. 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.
  46. 46. 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
  47. 47. 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,
  48. 48. 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
  49. 49. 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.
  50. 50. 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

×