The Knowledge Management Lab


Research Goals       Application Areas       Projects       People       Publications       Join us...

This page is an old version of the Knowledge Management Lab's website. The new version is here.
 

The Knowledge Management Lab at the University of Toronto is a research group focusing on concepts, methods, and technologies supporting the management of knowledge. These include the representation, organization, acquisition, creation, usage, and evolution of knowledge in its many forms, and the modelling, analysis, and design of technical systems for supporting all facets of knowledge management.

An assortment of techniques for representing and managing codified knowledge has emerged from a number of areas in Computer Science (CS), notably Artificial Intelligence, Databases,  Software Engineering, and Information Systems.  Although there is no consensus on a notion of knowledge or knowledge-based processing in CS, the terms are used usually in contra-distinction with data or data processing, to highlight the needs

This movement towards knowledge orientation, though not always refered to in such terms or viewed as a coherent movement, has been occuring over the past 15 to 20 years in CS.  From a practical standpoint, the growing complexity of application domains, of software development, and of intertwining machine and human processes may all have contributed to the recognition of such needs and the development of techniques to address them.  However, the movement has also been motivated by the search for firmer foundations in the various computing disciplines (e.g., [Newell80] [Bubenko80] [Ullman88]).

Our group, taking into account the contributions of many alumni, has actively participated in these developments.  Our group aims to continue such contributions.  Our current focus, however, is to broaden our horizon to deal not only with the treatment of formally represented, computer-stored knowledge, but, in recognizing the limitations of current techniques, to further develop them within the usage context of human, organizational, and social  processes.
 


Research Goals
Application Areas

Information and Knowledge Management - for Individuals, Groups, and Organizations

Sophisticated and powerful information and knowledge management tools will be the key enabling technologies for the knowledge economy of the immediate future.  We are interested in developing tools for information management; such tools may be used:
- by an individual to manage her personal information, e.g., technical knowledge, current tasks, references to information sources, archival information,?
- by a group working on a given project, e.g., a team of software engineers responsible for a legacy system who maintain collective information on the system, such as documentation, history, requirements, architecture, fixes,?
- by an organization who chooses to manage its ?corporate knowledge?, i.e., objectives, policies, business processes, projects, personnel, history, including information about its customers, markets, competitors, suppliers, ...

The information may already be available as data in existing databases or computer files (text, pictures, ...) or on the Web.  They may be in paper form or in people's heads.  In short, any information people, groups, or organizations use on a daily basis.  The key to managing complex information environments is to have a repository which maintains meta-information, i.e., information about information, such as where can one find a specific letter, who knows well a particular software module, or how up-to-date are the data we have about George in a database.  We also need flexible interfaces (both for users and systems) for loading information transparently (from databases or other documents), viewing information and updating information, also facilities for looking at the information at different levels of granularity.  An understanding of how information is used by people, groups and organizations (including psychological, sociological, or management dimensions) is also important.

We have been working on a large project focusing on information management for software development groups (in collaboration with the IBM Toronto lab), building both a repository, a schema as well as tools for populating the repository from source code files and other information sources [FHK+97]

Along another direction, we have been working on a project for managing web-based information, again building a (tentative) repository, a schema as well as tools for extracting information from the web and describing it through an interactive process [KGM98].  These techniques, especially those for dealing with meta-information, will be important as we have moved almost overnight into an age of open information systems triggered by the Internet, the Web and the proliferation of intranets, compared to the islands of information that had been the norm only a few years ago.  Further ahead, we anticipate the smooth cooperation among systems (in the midst of ongoing change) at the semantic and intentional levels will become top research priorities in the next few years.  Our group is among the active promoters of research in cooperative information systems [EUCAN].

Knowledge management as a management concept is also widely promoted in the business world today.  Intellectual capital is becoming a key differentiating factor for many enterprises in the highly competitive, global, post-industrial economy.  How  individuals and groups can generate, share, and utilize knowledge effectively is now viewed as crucial for organizational success.  The development of advanced knowledge management techniques in computing is highly complementary to this trend.  Current knowledge initiatives in enterprises typically rely heavily on generic groupware or intranet platforms, which have no knowledge of  domain concepts or semantics.  Our research aims to provide powerful yet flexible support through advanced modelling, repository technologies, and specialized processing.  As work content become increasingly complex and  knowledge intensive, many businesses and industries will find advanced technology support for knowledge management indispensable.  This is already becoming evident in domains such as software development, and advanced engineering design and manufacturing..
 
 

Information Systems Development, Software Engineering, and Requirements Engineering

The development of large scale software systems such as business information systems and real-time control systems (e.g., telecommunications systems) is one of the most challenging undertakings, and yet is the foundation of much of today's technology infrastructure. The burden of the system development task can be greatly reduced if appropriate support can be provided to ease the knowledge- and information-intensive undertaking.  A knowledge management approach needs to be founded on the suitable representation and use of software engineering knowledge [MBY97].

The DAIDA project [JMSV92] laid the foundations for a comprehensive information systems development environment, emphasizing the need to represent information about the subject world, the usage world, the system world, and the development world.  Repository technology is used to link the different kinds of information and to support development activities.

Understanding user and organizational needs and properly defining requirements is increasingly recognized as crucial to system success.  Our group has been active in the Requirements Engineering community since its earliest days.  Members of our group were among the first to advocate the explicit representation of knowledge about the world for requirements engineering [GMB82] [GMB94].  Knowledge structuring mechanisms including classification, generalization, aggregation, and time were provided to organize formally-represented knowledge about the world.  Some of these ideas appear in today's object-oriented analysis notations, often with less attention to the semantics and repository support.

Our recent work has led us to progress beyond object-oriented concepts to goal-oriented ones [MCY99].  One fundamental challenge that has been plaguing systems development has been the slippery nature of non-functional requirements.  Requirements such as accuracy, security, maintainability, evolvability, performance, costs, and so forth are known to be critical for system success.  Yet there had not been a systematic approach to assist developers to achieve these important qualities during the development process.  Earlier techniques had been limited to assessing these "-ilities" as attributes or properties after the fact.  The NFR Framework [Chung93] provides a systematic framework for representing non-functional requirements as goals and using them to guide systems development, providing support for detecting synergy and conflict among goals, managing tradeoffs, and for drawing on catalogues of generic design knowledge.

Requirements need to be understood within an organizational context.  Introducing or altering technical systems can impact stakeholders in complex ways.  The i* framework [Yu95a] offers an  agent-oriented approach to requirements engineering.  Agents in a social environment gain advantages through cooperation but also become vulnerable due to inter-dependencies.  By modelling the strategic dependencies among agents and reasoning about how they might advance or protect their interests, the i* framework provides a systematic approach for exploring strategic alternatives in defining systems requirements  [Yu97b].

Software architecture is one of the key areas in software engineering today, especially in light of the accelerating shift towards open, distributed, platform-based, and network-centric modes of computing.  We believe, as many have acknowledged, that much of the system-wide qualities are determined during high level architectural design.  We have been pursuing systematic approaches to architectural design using the goal-oriented approach of the NFR framework [CNY95] and more recently incorporating the agent-oriented approach of the i* framework [CGY99].

As our technical environment become increasing software-based, more and more of system development will have to contend with existing legacy systems.  A fundamental reason why  legacy systems are so hard to deal with is because knowledge about the system have not been kept once the development process was over.  Due to the lack of appropriate knowledge representation and management facilities, it is not surprising that much of that knowledge was never captured, let alone maintained.  Thus the knowledge management approach to software engineering is intended to prevent the fossilization of systems into legacy systems, treating system development as an ongoing process throughout a system's lifetime [DDJ+98].

For dealing with existing systems that are already legacy systems, we have developed techniques for software reengineering.  At the code level, we provide tools for extracting and reconstructing knowledge about existing software systems, and using this knowledge to convert software into new language and execution environments.  These techniques have been applied to convert legacy code to object-oriented code [CSER], and also to Y2K compliance.  A new project [IRIS] will develop techniques for reengineering software to operating in the increasingly network-centric computing environment.  A high-level knowledge-based requirements driven approach will be emphasized.

We also work on tools to support reverse engineering [D-FJ98]. This project covers applying information retrieval and knowledge-mining techniques to reverse engineering of legacy systems. In order to support a dynamic environment, we take an approach of integrating lightweight tools. Instead of forcing a user to use a specific and fixed environment, our approach provides basic information repository, which manages information extracted from the documentation and source code.
The system stores this information in a graph structure, it supports navigation through the repository, and modification of its structure and annotation. Results of our preliminary evaluation of the system on the small-size software are encouraging.

Case-based reasoning (CBR) systems require a design process that systematically produces high-quality applications. Beyond satisfying basic functional requirements for CBR, it is important to meet global quality factors, such as performance, accuracy and confidentiality, called non-functional requirements (NFRs). We use a goal-oriented, knowledge-based approach for aiding decision-support system development and usage, namely, we propose an approach for dealing with NFRs for CBR systems. In [JN98] show how quality can be built into a CBR system called TA3 [Jurisca98], using the "QualityCBR" approach, which integrates existing work on CBR and NFRs. We illustrate the use of the approach in a complex medical domain - in vitro fertilization [JGM+98].
 

Business Processes and Enterprise Modelling

One of the aims of the recent push for business process reengineering in many organizations is to ensure better alignment of information systems with business objectives.  Technology is seen as an enabler for business change, rather than as a means for making long-established processes more efficient through automation.  The information systems analyst of today therefore needs to have a much deeper understanding of business processes than before.  The i* framework provides a richer scheme for modelling, analyzing, and redesigning work processes [Yu95b][YML96].  It highlights the intentional (motivations, intents, rationales) aspects of relationships among strategic agents, complementing the traditional focus on activities and flows in conventional modelling schemes (e.g., IDEF) .  It therefore also allows greater attention to be paid to people and organizational issues [YM97].

The strategic orientation of i* also helps focus the modelling effort, so that enterprise modelling need not be an all-consuming activity, but can be targeted at critical areas. The research objective here is to provide ongoing support for aligning business goals with information systems, through systematic processes, and making use of computer-based knowledge management approaches and facilities.
 
 
 

Domain/Industry-Specific Areas
 

Biomedical Informatics
Biological research is generating data at an explosive rate. Analyzing this data and using it intelligently is a challenge because of its complexity, multiple interdependent factors, uncertainty of these dependencies, and continuous evolution. Biomedical computing involves the application of computational methods for the advancement of biological and medical science. Activities in this area range from data acquisition, robotics and laboratory analysis to the dissemination, storage and retrieval of knowledge. Modern biomedical computing is rooted in a broad range of application areas. Imaging needs from microscopy to mammography have motivated and relied on advances in imaging science. Medical data storage and access systems benefit from the study of information retrieval. Algorithms and software development are of key importance in areas such as genome sequence analysis and acquisition, which also depend on techniques from statistics and artificial intelligence. Medicine and the biological sciences already have an accumulation of extraordinarily large and complex data sets that are uninterpretable without the benefit of computational methods.
     The proposed medical application covers assisted reproductive technology for human infertility, namely in vitro fertilization (IVF). At each step of the IVF procedure, there are many dependent and independent variables, which may impact the chance of pregnancy. Thus, it is difficult for the clinician to discern trends and make informed decisions to optimize success rates for each individual infertile couple. Decision-support systems (DSSs) may enable IVF practitioners (1) to cope with the complexity of the domain during treatment planning and (2) to discover relationships between individual knowledge sources, which can then be used to improve pregnancy rates. The project is a multidisciplinary research in medical informatics. Its focus is on the development of object-based representations, context-based retrieval, and computer vision techniques, which will provide a framework for DSSs in medical domains. Knowledge-based DSSs are suited to disseminate experience, standardize procedures, lower cost, and increase the quality of health care services [JG97b, Jurisica98b]. This research has three specific aims: (1) design and implementation of tools for efficient, flexible and scalable case-based DSSs (preliminary results in [JG98,JG9]); (2) integration of the resulting system with image analysis techniques to facilitate image feature extraction (preliminary results in [GJ98]); and (3) evaluation of the prototype on medical domains, namely infertility treatment (preliminary results in [JMG+98]).
 

Industrial Control Processes
 

Telecommunications
 


Major Projects (current and recent)
 
From Legacy Systems to Modern Architectures CSER
Funding Agency: Consortium for Software Engineering Research
Principal Investigators: R. Holt, J. Mylopoulos, H. Mueller, K. Kontogiannis
Industry Partners: IBM Canada
Project Description

Agent-Oriented Software Architectures:  Models and Analysis Tools
Funding Agency:   Communications and Information Technology Ontario
Duration:  July 1998 - June 2000
Principal Investigators:  John Mylopoulos, Eric Yu, Yves Lesperance
Industry Partners:  Mitel Corp.
Project Description

Reengineering Software Systems for Network-Centric Computing
Funding Agency:  IRIS-3, a Federal Network of Centres of Excellence
Duration: April 1998 - March 2002
Principal Investigators:  John Mylopoulos, Hausi Mueller, Kostas Kontogiannis, Eric Yu
Industry Partners:  IBM, FSI, Techne
Project Description

Business Process Models and Tools
Funding Agency:   Information Technology Research Centre, Ontario
Duration:  1995 - 1998
Principal Investigators:  J. Mylopoulos, E. Yu, Y. Lesperance, H. Levesque, R. Reiter
Project Description

Organization Modelling
Funding Agency:  Natural Sciences and Engineering Research Council (NSERC) Individual Research Grant
Duration:  1996 - 2000
Principal Investigators:  E. Yu

Cooperative Information Systems
Funding Agency: European Commission (EU-Canada Collaboration project)
Duration:  1995 - 1998
Principal Investigators:  G DeMichelis, E. Dubois, M. Jarke, F. Matthes, J. Mylopoulos, K. Pohl, M. Papazoglou, J. Schmidt, C. Woo, E. Yu
Project Description

Decision Support for Biomedical Domains
Funding Agency:  Natural Sciences and Engineering Research Council of Canada (NSERC) Individual Research Grant
Duration: April 1998 - April 2002
Principal Investigators:  Igor Jurisica
Industry Partners: Toronto Center for Advanced Reproductive Technology, Toronto General Hospital
Project Description

Case-Based Reasoning: Knowledge Management and Applications
Funding Agency: Communications and Information Technology Ontario
Duration: July 1998 - July 2000
Principal Investigators: J. Glasgow, N. Cercone, R. Holte, I. Jurisica, S. Matwin,
Industry Partners: Toronto Center for Advanced Reproductive Technology, Toronto General Hospital, Kingston General Hospital, Hauptman-Woodward  Medical Research Institute, Molecular Mining, IBM Canada, Netron, Bell Canada, City of Regina,
Project Description

A Dynamic Repository for Software Maintenance and Evolution
Funding Agency: IBM Labs Canada
Duration:
Principal Investigators: H. Dayani-Fard, I. Jurisica
Industry Partners:
Project Description
 
 
 

Also see the topic pages for:
(These pages are under construction.)
People

  Faculty Members
Prof. John Mylopoulos
Prof. Eric Yu
Prof. Igor Jurisica

  Affiliated members
Prof. Yves Lesperance, York University
Prof. Lawrence Chung, University of Texas, Dallas
Dr. Brian Nixon
Dr. Grigoris Karakoulas

  Post-Docs and Research Associates
Dr. Jianguo Lu
Niloo Hodjati

  Graduate students
Daniel Gross
Wincy Chan

  Contributing undergraduate students
Joseph Makuch
Iannis Tourlakis

  Recent Post-docs and Research Associates
Scott Kerr, Elizabeth D'Angelo, Suchun Wu, Avi Gal, Patrick Premont, Huaiqing Wang, Bryan Kramer, David Lauzon

  Recent contributing undergraduate students
Ying Shi, Jeff Lloyd, Conan Chan, Vincent Wu, Nelson Yu, Nick Zahariadis, Jane Foo, Godfrey Cheng, Seyil Yoon, Angela Lee.

  Recent visiting graduate students
Mike Bissener, Constant Backes, Sylvie Nigot  (University of Namur, Belgium)
Oscar Sjoeden, Fabian Tell  (Royal Institute of Technology, Sweden)
Lin Zheng, Mary Hu (City University of Hong Kong)
Hui Liu (University of Jyyvaskyla, Finland)
 
 


Selected Publications
 (For more comprehensive listings and downloadable papers, please see the personal homepages of group members.  For listings by topic or area, please see the project and topic pages. )
  Other references mentioned on this page
 
  • [Ullman88] J.D. Ullman, Principles of database and knowledge-base systems, vol. 1, Computer Science Press, 1988.
  • [Newell80]  A. Newell, The Knowledge Level, Artificial Intelligence, 1980.
  • [Bubenko80]  J.A. Bubenko,  Information Modeling in the Context of System Development, in Proceedings IFIP Congress ?80, pp. 395-411, 1980.


  • Related Courses

    CSC 340   Information Systems Analysis and Design
    CSC 2106  Requirements Engineering

    FIS 1341  Analyzing Information Systems
    FIS 1342  Designing Information Systems
    FIS 2101  Architecting Information, Systems, and Organizations
       (previously: Aligning Informational, Systems, and Organizational Architectures)
    FIS 2103  Organizational Knowledge Management: Models and Technologies

    recently offered Reading Courses:
    - Analyzing Network-Centric Architectures
    - Strategic Relationships Analysis

    See also: recently completed theses.
     


    Joining us...

    The principal researchers of the KM lab are affiliated with the Department of Computer Science and Faculty of Information Studies at the University of Toronto. Students can carry out research under the Master's and Ph.D programs, at either Department or Faculty.

    The lab has a number of ongoing research projects supported by industry research partners, the Ontario government, and the Canadian government. We seek highly qualified individuals to assist in conducting these research projects.

    The group collaborates with many researchers and research groups worldwide. We welcome exchanges and collaborations with researchers and groups engaged in related work.
     


    This page is under construction. Please visit again soon.

    Last update of this page:  October 21, 1998.
    Link to BUL KMLab added: September 30, 2002.