UofT Home

Eric Yu  Ph.D. EY photo

"Social Modeling for Requirements Engineering" - Hot off the press! 

Social Modeling for Requirements
                              Engineering (Cooperative Information
                              Systems)November 15, 2010
From MIT Press: "This book offers a new approach to the requirements challenge, based on modeling and analyzing the relationships among stakeholders. The i* framework conceives of software-based information systems as being situated in environments in which social actors relate to each other in terms of goals to be achieved, tasks to be performed, and resources to be furnished. The book includes Eric Yu's original proposal for the i* framework as well as research that applies, adapts, extends, or evaluates the social modeling concepts and approach."
   Chapter 2 is a reprint of Eric Yu's doctoral dissertation from 1995.  It is followed by 18 chapters  authored by researchers from around the world who have applied, adapted, or extended the i* framework in various ways, and for diverse application contexts – from business processes to knowledge management to air traffic control, from information security to software development.
   Sneak preview - Chapter One.   
MIT PressAmazon.com.   Google books.

The i* framework is now part of an international standard!

International Telecommunication
                              UnionNovember 13, 2008
The User Requirements Notation (URN) received final approval as an international standard today in Geneva, Switzerland, as ITU-T Recommendation Z.151. URN consists of the Goal-oriented Requirements Language (GRL), based on Professor Eric Yu's i* modelling framework, and Use Case Maps (UCM), a scenario modelling notation. GRL provides a notation for modelling goals and rationales, and strategic relationships among social actors. It is used to explore and identify system requirements, including especially non-functional requirements. Thanks to the many students, research team members, colleagues, and international collaborators who contributed directly or indirectly. ITU is the UN agency for information and communication technologies.







 Find "Eric Yu" on  Google Scholar   DBLP Bibliography more DBLP   ACM Portal   CiteSeerX   EventSeer   LinkedIn   Facebook    

  •  Research Interests
  • Research Areas
  • Student Project/Thesis Topics
  • Research Projects
    • Agent-Oriented Modelling (NSERC)
    • Business Intelligence Network (NSERC SNG)
    • Model-Integrated Software Service Engineering (ORF-REF)
    • Systematic Process and Tool Support for Developing Non-Functional Requirements for Service-Oriented Software Platforms (Siemens)
    • Strategic Modelling for Security and Service Design (Bell Canada, NSERC)
    • Strategic Requirements Analysis for Kids Help Phone (Bell Canada, NSERC)
    • Security and Privacy for Internet Services (Bell Canada)
    • 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
  • Joining us at U of T
  • How to contact me
  • Profile
  • Affiliated Groups
  • Partners and Sponsors

    Photo Gallery

     snow scene
    Back to my homepage at ischool

    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.

    Requirements Analysis and Systems Design

    Information Systems Analysis and Design
    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.

    Agent-Oriented and Goal-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 (RE, REFSQ) 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.

    Non-Functional Requirements; Quality by Design
    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.

    Systems Architectures and Enterprise Architectures

    Software architectures
    The architecture of software 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.

    Business Process and Enterprise Modelling
    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.

    Strategic Business Modeling
    Information systems are meant to inform business decision making and to support business operations. However, information in IT systems are usually organized in a way that is hard for business decision makers to interpret and manipulate, requiring IT specialists as intermediaries. Thus despite rapid advances in business intelligence (BI) technologies, adoption among business users remains slow. With strategic business modeling, the objective is to provide a conceptual schema and language that employs business concepts such as business goals, strategies, processes, actors, resources, etc., so that enterprise data can be queried and reasoned about directly through a business-friendly language. <url: BIM on BIN site>

    BI-enabled Adaptive Enterprise Architecture.
    While BI technologies are enabling decision makers to gain business insights ever more quickly, actions prompted by those insights cannot be implemented quickly if IT systems are inflexible and hard to adapt. The idea in this research is take advantage of strategic business modeling, so as to connect BI results and insights into the information systems lifecycle more directly. An adaptive enterprise architecture would be ready to accommodate various kinds of change, making use of available adaptive software architectures and mechanisms.

    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  for software organizations, and how these organizations and their processes can be designed to better take advantage of these technological advances..

    Software ecosystems
    Software businesses are increasingly being organized as ecosystem. The success of a software endeavour today relies often on a community of users and third-party developers. Software decisions at many levels are tied to business strategies and decisions. Technical choices need to be understood in the context of the strategies of many other players. The research objective is to develop methods and techniques to bring software and business reasoning together, to enable technical people to better understand business strategies and business models and bring that understanding into their technical decision making.

    Software Engineering as Knowledge Management
    Software engineering innovations are not merely technical in nature, but are deeply social, with hidden assumptions about human knowledge and skills and learning. New software techniques stand or fall not only as a result of the soundness of their technical advances, but more importantly because of the human social and knowledge factors.  The research objective is to analyze each software innovation as a knowledge management innovation, so as to provide a more detailed analysis of successes and failures, using i*-like strategic modeling.

    Agent-Oriented Software Engineering
    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).

    Security, Privacy, and Trust
    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. This approach is especially relevant when dealing with new system architectures and business models, e.g., in white-box security (where the attacker has full access to the software, as in the case of software in mobile devices), or in cloud computing.

    Social Modeling for Sustainability
    Climate change and energy shortages and imbalances could lead to unprecedented upheavals as well as opportunities for innovations and renewals. Social modeling methods can be used to analyze various innovations, including requirements engineering for online media to facilitate and enable sustainable communities. Design knowledge from past successes and failures could be mined and reused. Vast amounts of data can be monitored and analyzed for community decision making. Security threats need to be anticipated and addressed. Collaboration among many parties and interest groups could be analyzed as ecosystems. Mutually reinforcing socio-technical interactions are crucial. Social modeling can also facilitate interdisciplinary understanding and collaboration essential for tackling sustainability challenges.

    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.

    Social Modeling and i*
    The social modeling approach initiated by the i* modeling framework continues to see more adoption in industry and experimentation by researchers worldwide. Despite its adoption as part of an international standard, many research issues remain to be addressed to attain a stronger theoretical base and to overcome practical challenges.

    Representing and Managing Design Knowledge. Design knowledge is at the heart of most technical and engineering fields. In this research, we study the structure of knowledge in various design domains, focusing on design know-how (means-ends knowledge, solutions to problems or to achieve design goals). We develop methods for extracting, compiling, and restructuring the knowledge for later or broader reuse. The longer term vision is to establish the means-ends relationship as a central mechanism for structuring knowledge. Building open information infrastructures based on this knowledge dimension could provide a significant boost for technology and design disciplines.


    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 Master of Information (MI) degree offers professional education in the study of information in a multidisciplinary context.  A thesis option is available. 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 team members who contributed to the research!

    Kelvin Ng
    Monica Olinescu
    Lina Zhai
    Lysanne Lessard
    Reza Manbachi
    Hesam Chiniforooshan
    Golnaz Elahi
    Yong Du
    Imran Kabir
    Alireza Moayerzadeh
    Ali Akhavan
    Amy Lo
    Reza Samavi
    Catalan Bidian
    Faranak Farzad
    Vic Chung
    Nidhi Sachdev
    Parsa Shabani
    Chris Cocca
    Frank Zhihua Hu
    James Zheng Li
    Bas van der Raadt
    Zhifeng Liu
    Jean Yuntian Fan
    Subhas Misra
    Jia Song
    Joanna Churbaji
    Jiang Chen
    Yue Sun
    Jennifer Horkoff
    Jane Zheng 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 Yoon
    Patrick 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 Fellows and Research Associates

         Affiliated Groups
    I am a Faculty Member at the Faculty of Information, 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 or Co-Investigator in the following projects:

    Selected Publications     
    See also  "Eric Yu"  on   Google Scholar   DBLP Bibliography  more DBLP   ACM Portal    CiteSeerX     
    A roadmap to learn about i*
    (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 IEEExplorer 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
    LNBIP series from Springer.
    Google Scholar


    • [istarbook]  E. Yu, P. Giorgini, N. Maiden, J. Mylopoulos (eds)
    • Social Modeling for Requirements Engineering 
      Cambridge, MA: MIT Press. 2011.  ISBN: 978-0-262-24055-0
    (amazon) (MIT Press
    Sneak preview - Chapter One.   

                Modeling for Requirements Engineering (Cooperative
                Information Systems)

    • [JMfest]  A. T. Borgida, V. Chaudhri, P. Giorgini, E. S. Yu (eds)
    • Conceptual Modeling: Foundations and Applications - Essays in Honor of John Mylopoulos (festschrift)  
      LNCS volume 5600. Springer, 2009.  530 pp. ISBN 978-3-642-02462-7.
    (doi) (amazon)
    Sneak preview - Chapter 7 Social Modeling and i* by Eric Yu.   (pdf) (doi)  
    jm book cover

    • [ER08proc]  Q. Li, S. Spaccapietra, E. Yu, A. Olive
    • Conceptual Modeling - ER 2008 
      27th International Conference on Conceptual Modeling, Proceedings, Barcelona, Spain, October 2008
      LNCS volume 5231. Springer, 2008.  550 pp. ISBN 978-3-540-87876-6.
    (doi) (amazon)
    The image
                cannot be displayed, because it contains errors.

    • [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)
         early versions of Ch 2 (ps) (pdf), Ch 3 (ps)

    Articles in journals, conference and workshop proceedings, and book chapters
    Copyright Notice

    Papers published by the Association for Computing Machinery (ACM) are Copyright © by the Association for Computing Machinery, Inc. Permission to make digital or hard copies of part or all of this work for personal or classroom use is granted without fee provided that copies are not made or distributed for profit or commercial advantage and that copies bear this notice and the full citation on the first page. Copyrights for components of this work owned by others than ACM must be honored. Abstracting with credit is permitted. To copy otherwise, to republish, to post on servers, or to redistribute to lists, requires prior specific permission and/or a fee. Request permissions from Publications Dept, ACM Inc., fax +1 (212) 869-0481, or permissions@acm.org.

    Papers published by the Institute of Electrical and Electronics Engineers, Inc. (IEEE) are Copyright © by IEEE. Personal use of this material is permitted. However, permission to reprint/republish this material for advertising or promotional purposes or for creating new collective works for resale or redistribution to servers or lists, or to reuse any copyrighted component of this work in other works must be obtained from the IEEE.

    Papers published in the Requirements Engineering Journal, the LNCS series, and the LNBIP series are Copyright © by Springer-Verlag.

    (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.


    The OME tool has been developed to support i* and NFR modelling.
    The open source OpenOME tool is being developed.
    See the i* tools page on the i* wiki for many software tools developed by other research groups to support i* modeling and analysis.

    Standardization Activities

    • ITU-T Z.151 (2008-11).   i* is the basis for GRL (Goal-oriented Requirements Language), which together with UCM (Use Case Maps), constitute the User Requirements Notation URN.  URN was adopted as an international standard in November 2008. The full standards document "User Requirements Notation (URN) – Language definition" may be downloaded from here
    • ITU-T Z.150 (2003-08).  This international standard defines the requirements for a user requirements notation. The full standards document "User Requirements Notation (URN) – Language requirements and framework" may be downloaded from here.
                Telecommunication Union
    ITU is the UN agency for information and communication technologies

    Recent Professional Activities and upcoming Calls for Papers

      See listing for Eric Yu on Eventseer.net. Under the section FACTS ABOUT ERIC YU (you may need to scroll down), click on the "participated events" tab. The list is generated from web listings so may not be fully accurate or complete.

    IJAOSE cover

    • Journal on Data Semantics
      Member of Editorial Board, since May 2006.
    Journal on Data Semantics XII

    International Journal of
                Information System Modeling and Design (IJISMD)

    • IET Software
      Published by the Institution of Engineering and Technology (U.K.)
      (formerly Institution of Electrical Engineers), and the British Computer Society. 
      Member of Editorial Board, since June 2005.

    IET Software Cover

    You can reach me using either my ischool or CS coordinates.

    eric -dot- yu  -at- utoronto -dot- ca 

    University of Toronto

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

    (416) 978-3107 (416) 978-8942

    eric -at - cs -dot- toronto -dot- edu 

    University of Toronto

    Department of Computer Science
    40 St. George St.
    Toronto, Ontario, M5S 2E4, CANADA
    Courier delivery to:  Room BA4283 (phone 416 946-8892)

    (416) 978-7330 (416) 946-7132

    This page last modified on: December 10, 2011