Eric Yu  Ph.D.
Associate Professor
Faculty of Information Studies
University of Toronto

RE'0715th IEEE International
Requirements Engineering
Conference

October 15-19th, 2007
Delhi, India


Agent Oriented Information Systems 
8th International Bi-conference AOIS Workshop, 2006
 
BCSsg-logo
Modelling Your System Goals: the i* Approach
A One-Day Symposium at City University, London, 20 April 2005, and
A Two-Day Research Workshop, University College London, 21-22 April 2005
British Computer Society Requirements Engineering Specialist Group
    
          .....more events of interest...

 

  • Research Interests
  • Research Areas
  • Student Project/Thesis Topics
  • Research Projects
    • Goal and Agent Modelling Support for Software Engineering (CITO/Mitel)
    • Agent-Oriented Software Development (CITO)
    • Reengineering Software Systems for Network-Centric Computing (IRIS-3/IBM)
    • Agent-Oriented Software Engineering (NSERC)
    • Strategic Knowledge Modelling for Patent Portfolio Management (Bell Canada)
    • University of Toronto Knowledge Management Laboratory (Bell Canada)
  • Major project webpages
  • Related Sites
  • Publications
  • Presentations
  • Professional Activities
  • Calls For Papers 
  • Joining us at U of T
  • How to contact me
  • Profile
  • Affiliated Groups
  • Partners and Sponsors

  • See also my research interests and homepage at FIS




    Research Interests
    Consider these challenges facing the computing profession: These issues are being addressed in many different ways in computing research.  My contention is that all these problems have to do with a missing representational dimension in software.  This is the intentional dimension - the realm of knowledge representation that deals with intents and motivations, goals and reasons, alternatives and choices, beliefs and assumptions.

    Software development is a knowledge-intensive activity.  Some of the most important knowledge involved in constructing and maintaining software include:

    Current software representations emphasize operations on data (programming languages) or assertions about properties (specifications). Requirements describe the relationship between the system and the environment, usually in terms of activities and information flows, constraints, and so on.  These representations (modelling schemes and languages) are non-intentional.  They do not allow intentional aspects to be expressed.  Yet, intentional concepts are used throughout the actual work of software development.  During a software project, goals are set, some are achieved, others are revised, sometimes abandoned. Alternatives are generated and assessed; some are further explored, selected, and become part of the solution. Assumptions are made, validated, sometimes withdrawn.  Hidden assumptions are revealed and challenged. Furthermore, these intentional concepts are manipulated within group and team settings.  Intentionality originates from the many organizational participants and stakeholders in a project.  They bring competing and complementary demands and knowledge and skills and values.  Multiple systems that interact or components within a system may carry intentionality from different stakeholders.

    All of these are part and parcel of everyday software work.  Yet, existing representations hardly support these intentional processes and relationships.  Non-intentional representations that are in common use today are appropriate for recording the results of software work, but not the process or the reasoning behind them.  My contention is that this missing knowledge contributes in large part to the difficulty in understanding, evolving, and reusing software, and in making them interoperate. In fact, the product of software work should include not just executable code, and not just designs and specifications and requirements expressed in non-intentional terms, but also the rich interconnected web of intentional relationships.

    Using Intentional Relationships to Link Business Requirements to Design to Execution and Monitoring

    In our research, we are using intentional relationships to link representations of business requirements, architectural design, and run-time operations. The main relationships are goal refinement and means-ends relationships and argumentation (beliefs and assumptions).  These intentional relationships capture and support the reasoning process for deriving execution-level processes from architectural designs, which in turn are derived from business requirements. The use of intentional concepts provide guidance and support during the forward engineering process.  They also provide the key linkages needed for supporting evolution. Run-time operations are monitored against requirements.

    Intentional Relationships Among Agents

    Intentional modelling needs to characterize what an agent wants, and how these wants are met by the abilities of other agents.  If wants and abilities do not match up, there needs to be adjustments on either or both sides.  This is done by going up or down the means-ends and task-decomposition structures of agents and re-distributing responsibilities among agents. The strategic implications of various alternative re-structuring of intentional dependencies among agents need to be analyzed. This is an important step during requirements analysis.  Much of Requirement Engineering research focuses on requirements specification of behaviour rather than on high-level strategic requirements.

    Putting Intentionality into Software Architecture

    We believe that software should be characterized as intentional structures.  Current conceptions of software architecture view architectural units or components as behavioural units which interact with each other through messages, data and control flow, etc.  This characterization omits important aspects which are at the intentional level of description.  We would like to view software components as having wants and abilities, and depending on each other in order to achieve goals.
     

    Research Issues

    Given the above overall philosophy and objectives, there are specific research questions to be addressed.  An immediate challenge is the large amounts of knowledge that needs to be explicitly represented and managed.  Since making knowledge explicit has both benefits and costs, these need to be balanced. Research questions include:

    We are studying these in software project teams, extracting experiences, and trying out representation schemes and improving upon them. There are more specific research issues for each area in which we apply this "intentional paradigm".  See Research Areas.

    More generally, we are dealing with the management of complex knowledge products and processes -- supporting the construction, maintenance, exploitation, and evolution of knowledge artifacts. The software development setting is but one example of complex knowledge-intensive work settings.  See Knowledge Management Lab.

    The intentional paradigm is being applied to several projects.  See Research Projects.
     

    Research Areas
    My research centres around the concept of strategic agents. More specifically, my research goal is to develop techniques for modelling, analyzing, and redesigning relationships among intentional, strategic actors. Application areas are outlined below. These include information systems analysis and design, requirements engineering, software engineering, business modelling and redesign, and knowledge management.
     

    Information Systems Analysis and Design

    "Structured techniques" were introduced in the 1970's and are still predominant today in information systems analysis and design. Object-oriented approaches are rapidly gaining ground. My research objective is to develop an "agent-oriented" approach to systems analysis and design that focuses on the intentional, strategic character of organization actors. Such an approach would provide a better match for the increasingly flat, networked organizations of today and for the emerging agent-oriented computing paradigm.

    References:  [ER94] [COOCS95]
    Projects:  CITO/Mitel
     

    Requirements Engineering

    Agent-Oriented Requirements Engineering
    As software technologies advance, attention is increasingly being focused on the early phases of system development. Getting the requirements right remains one of the foremost challenges in software engineering. Requirements engineering is now firmly established as a research area with its own conferences (ISRE, ICRE) and a journal (REj). Models and languages, tools and methodologies are being developed. My primary interest in this area is to develop models and techniques for helping understand the organizational context in which systems function, and for reasoning about such contexts. Such understanding is needed to develop systems that address real needs, and that can evolve to meet changing needs.

    References:  [RE 97] [WIj01] [REFSQ97] [WICSA99] [RE93]
    Projects:   CITO

    Non-Functional Requirements
    The approach taken partly draws on a framework for dealing with non-functional (or quality) requirements. Besides providing desired functionality, a system needs to meet non-functional requirements such as accuracy, security, performance, costs, and so forth. The ``NFR framework'' treats non-functional requirements as goals that need to be addressed systematically and traded off amongst each other during the design process.

    References:  [ICSQ94] [RE95] [REj97] [CACM99] [WICSA99] [NFRbook] [REFSQ00]
    Projects:   CITO/Mitel , IRIS/IBM
     

    Software Engineering

    Software Processes and Organizations
    Software engineering is concerned with the methodical, systematic production of quality software. Despite advances in technology, successful software engineering still relies heavily on human efforts. To benefit from technical advances, software engineering organizations need to continuously redesign themselves appropriately. For example, switching to object-orientation, adopting client/server, promoting software reuse all require substantial organizational changes.

    Software processes (e.g., software development processes, software maintenance processes, etc.) have received considerable attention in the software engineering field in the past decade. Various modelling schemes have been proposed, mostly as basis for automating or providing technological support to software engineering activities. My interest here is to use organization modelling techniques to better understand the implications of various software technologies (e.g., OOT, C/S, iCASE, groupware, reuse, Java,... ) for software organizations, and how these organizations and their processes can be designed to better take advantage of these technological advances..

    References:   [ICSE 94]. See also [Briand 95].

    Agent-Oriented Software Engineering
    A more ambitious approach to incorporating agent-orientation into software engineering is being pursued in the following project.
    Projects:   NSERC
     

    Systems Architectures and Enterprise Architectures

    Cooperative Information Systems

    Current developments in the IS field point to the need for a new class of information systems which specialize in facilitating cooperation among different systems, among humans and systems, and among human individuals, workgroups, and organizations. Despite the relentless push for newer generations of technology, users will continue to have to contend with a variety of disparate systems. The legacy of earlier systems cannot be discarded easily. In an increasingly networked world, individuals and workgroups operating more autonomously may be confronting a wider assortment of incompatible business practices and systems, if only because each jurisdiction may choose to implement change at different rates.

    The premise behind the research thrust we call ``Cooperative Information Systems'' is that considerable support can be provided to help deal with cooperation and to manage change, for example, by offering additional system components specializing in these tasks. This area draws on and links a number of research areas, including systems integration, repositories and CASE, HCI, CSCW, business processes and workflows, organizational computing, requirements engineering, and others. My interest in this area is to further explore and charaterize the various notions of and mechanisms for cooperation, and for dealing with change.

    References:  [CoopIS Manifesto] [CoopIS 95] [CoopIS bk] [CACM98]
    Projects:   EU-Canada

    Business and Enterprise Modelling, Organizational Architectures
    Business processes are key to the operation of most organizations. A thorough understanding of the business processes of an organization is a necessary prerequisite for developing effective IT support for those processes. Modelling (or ``mapping'') techniques are widely used to document and to help explain, analyze and redesign processes. The radical ``reengineering'' of business processes highlighted the need for appropriate modelling techniques. Today, Internet technologies and e-commerce are leading to fundamental changes in business structures.  Traditional techniques that have been borrowed from systems analysis and design are ill-equipped to deal with these changes.  My interest in this area is to develop and introduce techniques that allow the strategic interests of various stakeholders and actors to be considered when searching for innovative process solutions and business configurations.

    References:  [IEEE Expert96] [HICSS94] [COOCS93] [ICEIMT97] [IFAC99] [ER01]
    Projects:   BUL-IP
     

        Agent-Oriented Systems and Methodologies
    When systems are no longer designed from scratch under a unified grand scheme, the traditional notion of architecture which parcels out functionality to components according to a single coherent set of principles (e.g., flexibility, reliability, performance, reuse, etc.) is no longer adequate. System components are increasingly being viewed as (relatively) autonomous agents who request services from each other. Relationships among components are no longer adequately described by syntactic and semantic characterizations of interfaces and interconnections. One component may seek particular performance and reliability characteristics on specific functionalities from the components that it uses. These latter components may in turn depend on others for a different set of characteristics on other functionalities. System components may be organized via market mechanisms or longer-term relationships, and may involve reward structures (e.g., payments, licensing, etc.)  This perspective and approach complements the rapidly emerging agent-oriented software technologies (at the implementation level).

    The architecture of such systems need to be described at the intentional level, so as to characterize the wants and abilities of components, and to analyze opportunities and vulnerabilities. Intentional architectural descriptions fit well with agent-oriented characterizations of enterprise. This enables systems design to be treated as part of enterprise design. My research objective here is to adapt strategic actor relationships modelling to the system architecture domain.

    References:  [IWASS95] [WCSA98] [WICSA99] [CAiSE99] [Trust00] [TWIST00] [aois.org] [STRAW01-R2A] [STRAW01-Evolv] [WIj01]
    Projects:   CITO
     

    Conceptual Modelling  and  Knowledge Management   
    The common thread through my various research interests is the need to manage complex knowledge structures.  We develop conceptual modelling techniques to model real world phenomena, to manage large bodies of knowledge, and to support analysis and reasoning. The techniques aim to provide a sufficiently rich characterization of a domain ("ontologies"), drawing on knowledge representation techniques in artificial intelligence to provide reasoning support.

    The i* framework developed in my PhD dissertation focuses on the modelling of intentional, strategic actor relationships as a way of enriching models of organizations and organizational processes. These are being refined, extended, and applied to the various application areas. I would also like to explore new areas of applications, such as policy analysis, strategic business redesign, and negotiation support.

    References:   [ASE97] [ASIS99]

    Projects:   BUL-KMLab, BUL-IP

     

    Security, Trust, and Privacy
    Many formal and mathematical frameworks have been developed to deal with computer system and network security, and more recently, privacy and trust.  The strategic actor relationships approach allows trust, security, and privacy to be modelled and analyzed from a social actors perspective.

    References:  [TrustCh01] [SREIS02-Sec] [SREIS02-Priv] [Trust02]




    Joining us at U of T
    We seek to recruit highly qualified individuals from Canada and from around the world.  We offer studentships and employment opportunities.  I will be happy to help you explore topics and programs that would suit your background and aspirations.

    Post-Doctoral Fellows - You will hold key responsibilities in a research project team.  Good research and writing skills are required.  Excellent vehicle for launching a research career.  Competitive salaries.  Teaching duties pay extra.

    Ph.D. Students - You should have an excellent academic record, a Master's degree from a recognized programme, and deep interest and commitment in pursuing research.  Writing skills are important.

    Masters Students - The MISt degree offers professional education in the study of information in a multidisciplinary context.  The Information Systems stream offers the study of computer-based information systems.
    Qualified MISt students may undertake a Research Project in lieu of 2 to 4 half-courses.  For students interested in specialized interest areas of faculty members, Reading Courses are sometimes offered.

    In my capacity as a cross-appointed Faculty Member at the Department of Computer Science, I also supervise:

    Ph.D. Students in Computer Science

    M. Sc. Students in Computer Science

    Bachelors Thesis in Engineering Science

    I will be happy to talk with you if you find my research areas to be of interest.

    Summer Studentships
    We typically have openings for several summer positions in research projects for senior undergrads.  You should have high academic standing.  This is an excellent opportunity for learning about the research environment and graduate school while being gainfully employed.  Part-time employment during the school year may also be available.  Masters students interested in contributing to our research projects are also welcome.  Please send me your resume by e-mail to register your interest.  Having some of the following as background would be helpful but not essential:

    However, enthusiasm, self-motivation, and dedication are essential :-)



    Student Projects / Thesis Topics
    There are many interesting thesis or research project topics under the research areas within my research interests. I will be happy to provide further detail to help you explore topics that would suit your background and aspirations.

    Here are some specific projects/topics that are of direct interest to me:

    Samples of recent projects


    Thanks to all current and past students and members who contributed to the research!
     

    Frank Zhihua Hu
    James Zheng Li
    Zhifeng Liu
    Jean Yuntian Fan
    Subhas Misra
    Jia Song
    Joanna Churbaji
    Jiang Chen
    Yue Sun
    Jennifer Horkoff
    Jane You
    Majed Al-Shawa
    Min Qi
    Sharon Bider
    Cara Ying Li  
    Bowen Hui
    Paul Chong
    Kelvin Yuen
    Sarah Mak
    Sara Maharaj
    Nick Cheung
    Cindy Lun
    Daniel Gross
    Mike Higginson
    Joseph Makuch
    Tyronne Mayadunne 
    Ying Shi
    Wincy Chan
    Niloo Hodjati
    Mike Bissener
    Constant Backes
    Godfrey Cheng
    Seyil YoonPatrick Premont
    Nelson Yu
    Conan Chan
    Vincent Wu
    Jane Foo
    Nick Zahariadis 
    Angela Lee
    Chen Wang
    Mark Maguire
    Fabian Tell
    Oscar Sjøden
    Jelena Ivanesevic

    Post-Doctoral Research Associates

    Markus Strohmaier
    Luiz Marcio Cysneiros
    Linda Lin Liu
    Zhiming Cai




         Affiliated Groups
    I am a Faculty Member at the Faculty of Information Studies, with a cross-appointment at the Department of Computer Science. I am a member of the Knowledge Management Lab of the Bell University Labs. I am affiliated with the Knowledge Media Design Institute and will be happy to supervise students in the Collaborative Program. See my profile for KMDiary.




         Research Partners and Sponsors
    Research Collaborators: Sponsors and Partners:


    Research Projects
    I am a Principal Investigator in the following projects:
     


    Selected Publications     
    Partial list on DBLP Bibliography Server
    A roadmap to learn about i*
    Notes:
    (pdf) (ps) (html)   downloadable in Acrobat pdf, Postscript, HTML formats respectively.
      The version indicated in smaller font may be of lesser print quality.
    (iel)  on IEEE/IEE Electronic Library (click through for U of Toronto users)
    (acm)  on ACM Digital Library (click through for U of Toronto users)
    (ut)   accessible via UofT E-journals
    LNCS or LNAI    downloadable from Springer (pdf) for U of Toronto users and other subscribers, abstracts only for others
    • [NFRbook]  L. Chung, B.A. Nixon, E. Yu, J. Mylopoulos
    • Non-Functional Requirements in Software Engineering (Monograph)
      Kluwer Academic Publishers, 2000.  472 pp. ISBN 0-7923-8666-3.  Amazon.com
         early versions of Ch 2 (ps) (pdf), Ch 3 (ps)
    NFRbk-pic

    (click here for a roadmap to learn about i*)

    Papers on Non-Functional Requirements may be found in the DKBS ftp directory.  Softgoal modelling and reasoning originated from the NFR framework.  Details may be found in the NFRbook.

    See the i*  and  GRL webpages for more details.




    Presentations



    Software
    The OME tool has been developed to support i* and NFR modelling.
     
     




    Recent Professional Activities and upcoming Calls for Papers

                                                                        See also ... more Calls for Papers


    Address
    You can reach me using either my FIS or CS coordinates.


    yu at fis.utorontoAAA.ca  or  eric.yu at utorontoAAA.ca Please remove the "AAA", and replace "at" with "@" to get the real addresses (anti-spam measures).

    University of Toronto

    Faculty of Information Studies
    140 St. George St.
    Toronto, Ontario, M5S 3G6, CANADA

    (416) 978-3107 (416) 971-1399


    eric@cs.torontoAAA.edu Please remove the anti-spam "AAA" to get the real address.

    University of Toronto

    Department of Computer Science
    40 St. George St.
    Toronto, Ontario, M5S 2E4, CANADA
    Courier delivery to:  Room 4239

    (416) 978-7330 (416) 946-7132
         Please visit again soon.

    This page last modified on: November 12, 2006