1 / 68

Chapter 5

Chapter 5. Knowledge Management. Additional Recommended Literature. Staab, S., Studer, R. (Eds.): Handbook on Ontologies Springer Verlag 2003. Series

sibyl
Download Presentation

Chapter 5

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Chapter 5 Knowledge Management

  2. Additional Recommended Literature • Staab, S., Studer, R. (Eds.): Handbook on OntologiesSpringer Verlag 2003. Series • v. Elst, L; Dignum, V., Abecker, A. (Eds.): Agent Mediated Knowledge Management.International Symposium AMKM 2003, Stanford, CA, USA, March 24-26, 2003, Revised and Invited Papers. , Vol.  2926, Springer Verlag 2004. F. Maurer, H. Holz: Process-oriented Knowledge Management for Learning Software Organizations, Proceedings KAW-99, Banff, Canada, 1999 • Harald Holz: Process-Based Knowledge Management Support for Software Engineering, Dxissertation Kaiserslautern, 2002 (see also his web page).

  3. Part 1 General Principles

  4. Aspects of Knowledge Management Informing agents -on demand, pro-active • Organization • Databases, Knowledge bases, Directories • Collection • Knowledge Acquisition • Call management • Documents • Access • Retrieval (Text, CBR, ES) • Process Oriented (Policies & procedures, DSS, ES) • Discovery • Email, chat, forums, feedback, surveys • Data mining • Collaboration & Sharing • Internet, Intranet • Groupware

  5. Knowledge Management The knowledge manager (KM) employs several information assistants A who again assist other agents Ag who perform certain actions. This has a global and a local aspect: Global view: Organization Ag A A . . . . . . . . . . . A KM A Ag Local view: Communication Agent2 Agent1

  6. Knowledge and Processes general process needs needs actual data and information general knowledge instance actual process

  7. The Flow of Knowledge Data restructure Knowledge Base Data Bases Information make explicit use Flow from external sources Knowledge Actions

  8. Information and Processes Information improves the value of actions at all levels: Step in the general process (process model) Instantiation details Corresponding steps in the actual projects The manager organizes the necessary sources Information Source Information Source Information Source

  9. The Purpose of Information and Knowledge • The purpose of knowledge and information is to perform process steps or to perform them better. This is called an INFO-NEED for the process step. • INFO-NEEDS are stored in INFO-SOURCES. • However: • Knowledge can be missing • Knowledge Management tasks: • Get external or internal knowledge, make it explicit and restructure it • Distribute knowledge to agents who need it at the right time in the right format in the needed quality • Draw correct conclusions from customer information

  10. Software Development Information Sources Info Needs … ‘Experts’ Info Needs • News • Mailing Lists • FAQs • Web Sites (tool vendors,…) • Online Reference Books • DMS • Lessons Learned • Experience Factory • Project Traces • Bug Tracking Systems • … … Problem: Information distribution: • Task- and situation-specific • Proactive • Systematic

  11. Info Needs • Info Needs can be attached to processes in • A very general knowledge model • A process model • A plan • In a plan the information need can only be used for that specific plan instance, on the higher levels it can be used for all plan instances. • A special case is to represent the information need by a bookmark. Then no further reference to the information source is necessary

  12. Planning: qualified actors? admissible actors? available actors? Design Review Assign taskDesign Review Who performed similartasks? Problems withsimilar tasks? Effort ofsimilar tasks? • Enactment: Def. of Factory-Pattern? Similar Design Docs? Guidelines/checklists? ReviewDoc DesignDoc Who has designed RMI applicationsbefore? Former Review Docs for similar designs? Problems with RMI and Serialization? Task-specific Information Needs Example (1) p p’

  13. Where do I find tutorials on EJB? Description Implementation Process System design is based on EJB When? programmer programmer is an EJB novice For whom? How to obtain information? … java_tech_docs_infoNeed … MoreInformationNeeds? Example (2) information need ejb_tutorial_infoNeed question process type activity constraints useful for roles skill constraints information source usage recommendations sub information needs

  14. Which informations source? sun_javasoft_domain Example (3) information source usage recommendation information source recommendation information source activity constraints useful for roles skill constraints usage directions comment queryCommand end none programmer none Suitable for whom? Query to the informations Search for phrases "EJB" and "Tutorial" search(?keywords="EJB"+"Tutorial")

  15. Task “System Design” INODesign e.g.“Who performed similar design tasks before?” uses_tool RationalRose UML is_tool_for INORationalRose INOUML e.g.“How do I load JDK 1.2 into RR?” e.g.“UML Specification?” Retrieval of INOs Domain model entities play a role for both organization and retrieval.

  16. Information Need as Object • Attributes for specification of context- and search space Which error reports are assigned to Harald in project MILOS? Information Need Representation Executer Supported Role Process step: Implementation Information Category General Precondition Implementation.isRestarted() Information Source BugZilla System Query ?system=MILOS&name=Harald

  17. Information sources • recommenrdations for information sources • Information needs • ... We need: Meta Knowledge • Talks about knowledge management, e.g.: • Collect for each process type : • Which information is useful for the participating? • When? (depends on roles, specific situations,...) • Where can one find such informationen? • How should they be represented?

  18. What tools areavailable for testing? How should I report bugs? <in <in What tools areavailable for black-box testing? Organizing Meta Knowledge (1) • Primarily by process types. • Problem: Handling of spezialization/decomposition? • Ex.: Testing Overview of Testing Techniques? Glass-BoxTesting Black-BoxTesting • Approach: • Inheritance of information needs • Allow information needs to be specialized

  19. CS Thing … Info Source Recommendation:GoF Design Pattern Catalogue Tool Language RationalRose ModelingLanguage OO-ProgrammingLanguage <isr JDK 1.2 How do I launch RationalRose? Info Source Recommendation:‘Patterns in Java’ Catalogue UML SDL ST-80 Java Organizing Meta Knowledge (2) • Observation: Certain information needs occur in several process types, depending on the used technologies, concepts, products, etc. • Problem: Redundant definition make maintenance more difficult Approach: Association of information needs and domain model entities

  20. InfoNeedsDesign activity of type“Design” e.g.“Who performed similar design tasks before?” uses_tool InfoNeedsRationalRose e.g.“How do I load JDK 1.2 into RR?” InfoNeedsUML tool“RationalRose” language“UML” e.g.“UML Specification?” is_tool_for Organizing Domain Entities (1) • Interpretation: • The Meta Knowledge associated with some model element is only activated, if the element (or an instanzce of it) is referenced. • Can be regulated by constraints • Transitivity of activation:

  21. Implement Test Cases tool : JavaTestingTool Organizing Domain Entities (2) IN3.1 tool is JUnit IN3.2 JavaTestingTool … • Heuristics: • as a default with a process type. • Possibly changed by constraints IN2.1 TestMentor JUnit tool isTestMentor IN2.2 tool isJavaTestingTool … … IN1.1 IN1.2 • Question: Associate with process type or domain entity?

  22. IN3.1 tool is JUnit IN3.2 JavaTestingTool … Implement Test Cases Implement Test Cases IN2.1 TestMentor JUnit tool isTestMentor IN2.2 tool : JavaTestingTool tool : JavaTestingTool tool isJavaTestingTool … … IN1.1 IN1.2 Heuristics IN1.1 IN1.2 JavaTestingTool … IN2.1 IN3.1 IN2.2 IN3.2 TestMentor JUnit … … Organizing Domain Entities

  23. Information IN1 IS1 IN2 IS2 Context INn ISm Development process Information Sources Conceptual View

  24. The Information Assistant (1) • The information assistant is integrated to the enactment environment. • Functionality: • actively signals possible knowledge delivery support, • presents a structured set of currently relevant INOs after he is started on demand, • allows to execute the retrieval specified by a selected INO, • allows to access a query interface of an information source specified by a selected INO, and • allows a user to post queries to be persistently stored.

  25. The Information Assistant (2) • The information assistant can act • on demand • pro-active • Acting on demand requires a query. • Example: Asking for an explanation • Acting pro-actively requires a trigger, usually an event in order to apply an ECA-Rule. • Example: The information assistant is notified that an agent is working on a specific task that requires certain knowledge.

  26. Example (1) • Scenario 1: A programmer has to estimate the time for the implementation of a Java component based on a given class diagram. • Information provided: • a) coding speed in classes per time unit. • b) the number of classes within the input product „Class Diagram“. • The corresponding information sources are: • data base storing agent performance data • input product.

  27. Example (2) • Scenario 2: A project manager has to dcecide which programming language to use for implementing an object oriented design. • Information provided: • Available methods for implementation (from the process definition and a methodology data base) • functional and quality requirements (from a requirements document) • available experienced agents (from a skill data base) • available tools (from a tool data base). • Some of these sources will be stored in the experience factory.

  28. The Information Assistant (3) • The knowledge manager knows the process model PM • To each action in the model it is associated: • the agents involved • the type of knowledge or information needed • The needed knowledge is divided into • some knowledge which the agents surely do not not have (e.g. because only the manager has it so far) • knowledge which some agents may have and others not (depending e.g. on the experience of the agents); here some knowledge of the manager about the agents is required.

  29. Object WithInfo Resources (Interface) InformationResource 0..n 0..n InformationSource info source IS Recommendation RecurrentInformation Need executeQuery() sub-information needs IS Usage Recommendation 0..n info source usage recommendation comment queryCommand Extended Process Model

  30. Process Modelling environment Project Planning environment Workflow environment Process Model Project Plan Workflow Enriched Information Assistant Information sources An Integrated View

  31. Part 2 Ontologies

  32. Ontologies and Knowledge Management • In order to provide knowledge support for agents one first has to collect and to restructure knowledge. • The restructuring has to be done in such a way that all agents participating in the process (or all members of a team/company) can be supported in an efficient way. • The knowledge comes usually from different sources that have different representation formats as well as a different semantics for the used terms. • The idea of an ontology is to collect, combine and restructure such knowledge.

  33. Characteristics “An ontology is a formal, explicit specification of a shared conceptualization” • An ontology is: • formal: is machine understandable (therefore we need formal languages!) • explicit specification: contains explicitly defined concepts, properties, relations, functions, constraints, axioms, ... • shared: represents consensual knowledge of a community • conceptualization: abstract model of some phenomenon in the world • Difficulties: Some knowledge may not be (easily) formulated in a formal ontology.

  34. Database Schema & OO Models • Conceptual database schema (e.g. ER diagrams) and OO models (e.g. UML analysis diagrams) allow the formal specification of a conceptualization. • ER and UML differ in the modeling primitives • Relation to Ontology definition: • formal? : YES can be encoded in machine readable form • explicit specification: YES: modeling primitives have a clear semantics • shared? : Not per se • conceptualization? : YES abstract model containing important concepts. • If shared, they can become an ontology!

  35. Part of an Ontology: Glossary • A Glossary is: • A collection of terms (e.g. given at the end of a book) • Each term has a textual definition • The definition may contain links to other terms • Example Glossary for UML (OMG-Unified Modeling Language, v1.4) aggregation: A special form of association that specifies a whole-part relationship between the aggregate (whole) and a component (part). See: composition. association: The semantic relationship between two or more classifiers that specifies connections among their instances. analysis: The part of the software development process whose primary purpose is to formulate a model of the problem domain. Analysis focuses on what to do, design focuses on how to do it. Contrast: design. • Relation to Ontology definition: • formal? : NO, definitions not machine understandable • explicit specification? : NO not formal, links can be “semi-formal” • shared? : YES, goal is to share it among the readers/users of the book. • conceptualization? : YES abstract model containing important concepts.

  36. Part of an Ontology: Thesaurus • A Thesaurus is: • A collection of words with semantic relations among them • different meanings of words are mentioned • classification w.r.t. syntactic categories • sometimes with explanations of meanings of words • Example: Wordnet http://www.cogsci.princeton.edu/~wn/ • 118.000 word forms, 90.000 word meanings, • syntactic categories: noun, verb, adjective, adverb, preposition, ... • semantic relations: hyperonym/hyponym (=is-a), meronym/holonym (has-part(part-of), synonym, antonym, ... • Relation to Ontology definition: • formal? : Partially, meaning not machine understandable • explicit specification: PARTIALLY formal relations • shared? : YES; at least this is claimed. • conceptualization? : YES abstract model containing important concepts.

  37. Types of Ontologies • Ontologies can talk about different issues: top-level ontology domain ontology task ontology application ontology

  38. The Structure of Ontologies Entries of an ontology are usually structured in a directed graph which is often a tree: The nodes are annotated with the concept or the their instances. The semantics of the can be of different character. . . . . .

  39. Components • Many objects can be regarded as a composition of simpler parts called components. Component orientation means that the component structure is the dominating view. • Top-down view: Decomposition of a complex object • Bottom-up view: Synthesis of complex object. • Objects which have no parts are called atomic. • In top-down planning complex tasks are decomposed into simpler parts. • This gives rise to the part-of relation.

  40. The Part-of Relation • With the part-of relation one can associate different meanings and intentions: • A is a mandatory part of B • A is an optional part of B • A is an important part of B • A is a part of B which can be exchanged • A is an expensive part of B • A is a visible part of B • etc. • These variations give rise to different uses and applications.

  41. The Is-a Relation (1) • The most common interpretation of “A is-a B” is that the subset interpretation: A Í B where A and B are sets. • This justifies the use inheritance operations as e.g. in object oriented programming languages. • “is-a” is, however, often in less clear circumstances used, e.g.: • mechanical engineering is-a engineering science • It is not clear to which sets the terms refer: • The persons working in each science ? • The employees of the university departments ? • The scientific papers ?

  42. The Is-a Relation (2) • The reason is that the instances are not defined here. If we have the instance concept defined each object can be regarded as the set of its instances. But again one has to be careful if inherited properties can be overwritten. • The deeper problem arising here is connected with the extensional and intensional interpretation of concepts: • The extensional interpretation represents a concept C fully by a set of elements (or members or instances). All what one has to know about C is in principle only the set of elements of C. • The intensional interpretation associates with C everything what one can do with C. This can be made precise in different ways; it is, however, not in the scope of this lecture.

  43. Is-Hierarchy: Example • Example: • Some of the edges denote subclasses and some denote instances

  44. Multiple Use of Ontologies • The idea of using one ontology for different purposes has several consequences: • How to interpret the concepts of an ontology in different situations ? • How to translate the concepts of an ontology into different representations of an application ? • How to select the knowledge for some application ? • The last questions require domain knowledge. The first two questions deal with formalisms and their syntactic properties. This is discussed in the chapter on predicate logic. • Ontologies can be re-used for different projects. • A proper reuse is the task of the experience factory.

  45. Reuse of Ontologies (1) • A translation between ontologies makes the reuse of ontologies within the same representation language possible. • Example (for predicate logic): • Told is supposed to be an ontology for the organization of personell with a predicate vacation(space, location) (shall express: when and where) with corresponding regulations. Furthermore let Lnew be a language with the predicate holidays(time). A suitable translation is t(holidays(x)) = $ y(vacation(x,y)) • The knowledge base of Told can now be reused.

  46. Reuse of Ontologies (2) • For different logical languages, e.g. differently represented fragments of predicate logic it is necessary to • understand the expressions of one language syntactically in the other language • or • to understand the expressions of both languages in a third language (exchange format). • The condition in order to achieve this is that the expressions are not ambigious.

  47. Germany Bahamas Hongkong USA Investing money Different tax regulations Germany Canada USA Mexico Different safety regulation Car seat specification Example: Different Interpretation of Legal Terms Requires always a flexible interpretation

  48. Different Ontologies for a Common Goal • Knowledge can be distributed over different ontologies : • Different experts see and describe the world from different views; they have their own knowledge stored in different ontologies: • Financial experts, environment experts, regional experts (in particular in global distribution), technical experts (again many possibilities) ..... • Each expert talks and thinks about the same real world objects • in different terminologies • in different degrees of abstraction • in different form of details • In order to make use of such distributed knowledge a principal problem of communication arises (see chapter on Predicate Logic). • Some part of the problem can be solved by using normed terminologies

  49. Comparison of Ontologies (1) i = 1,2 Li :: Representation language Ontolologyi: Ontology in Li Expresssioni: Expression in Li « Expression1 + Ontolology1 Expression2 + Ontolology2 ? How to translate it to this side ? This side is known to me

  50. Comparison of Ontologies (2) • Under which conditions are two expressions in different ontologies equivalent and how can this be tested ? What is the meaning of equivalence of ontologies ? • How can one find for a given expression in one ontology some equivalent expression in another ontology (translation problem) ? • Are there universal languages to compare arbitrary ontologies (exchange formats) ? • The mapping of two expressions onto an expression in an exchange format which is equivalent to the given expressions is called semantic unification (analogous to syntactic unification defined for substitutions).

More Related