UofT Crest

The Knowledge Management Lab
University of Toronto

  Home Research Goals Application Areas Projects People Publications Join us

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

The Knowledge Management Lab is now part of the Bell University Labs Bell University Labs

UofT logo The Knowledge Management Lab - Department of Computer Science - University of Toronto