U of C Home Page
Welcome to Dr. Behrouz Homayoun Far's home page. Here you can find details of my research, my on-line lectures, presentations and published papers.

ECE Home Page

  Behrouz Homayoun Far, MSc (1986), PhD (1990), PEng.
I am Behrouz Homayoun Far, originally from Tehran,Iran. I'm currently a Professor at the Department of Electrical and Computer Engineering, Schulich School of Engineering, University of Calgary, Calgary, Alberta, Canada.
I am director of the Intelligent Software Systems Laboratory of Faculty of Engineering, University of Calgary and CEO of the Serious Software Technologies Inc.
Previously, I was an Associate Professor at the Department of Information and Computer Sciences, Saitama University, Japan. Here is a brief self introduction.


  • (15/September/2015) Behrouz Far received Faculty of Graduate Studies' Great Supervisor award as a recognition of excellence in graduate supervision.
  • (26/July/2013) AITF Tier 2 Collaborative Grant holder with the Alberta Motor Association in Smart Multi-modal Transportation Systems.
  • (26/February/2012) Dr. Behrouz Far received 2011 Research Excellence Award of the Schulich School of Engineering, UofC. The recipients of this prestigious award are those who have made outstanding research contributions in their fields of specialization.
  • (10/May/2011) Dr. Behrouz Far received ECEG Excellence Award for Graduate Student Supervision.
  • (3/July/2010) Dr. Behrouz Far received The 22nd International Conference on Software Engineering and Knowledge Engineering (SEKE 2010) Best Paper Award.
  • (2/June/2006) Dr. Far won 2006 IBM Innovation Award. Dr. Far is the only Canadian recipient of 2006 IBM Innovation Award. 2006 IBM Innovation Award is highly competitive and recognizes the quality of Dr. Far's research and its' importance to industry.
  • (10/Sept/2014) Course Web page for SENG521 updated.
  • (11/Sept/2014) Course Web page for SENG697 updated.
  • (10/Jan/2011) Course Web page for SENG637 updated.
  • (10/Jan/2008) Course Web page for SENG401 updated.
  • (3/Jan/2006) Course Web page for SENG421 updated.

1. Research

See Research Theme and Topics

2. Publications

Publications [DBLP].
Copies of some of the papers in PDF along with the abstract of the papers are available on-line.



Research Theme and Topics
The future of software systems is in delivering software in a service-oriented way. This implies efficient delivery of distributed services to distributed clients using distributed resources. Therefore fundamental research on distributed systems is necessary. I have established Intelligent Software Systems (ISS) Laboratory of the Schulich School of Engineering, University of Calgary. The following figure shows research topics of the ISS Lab. The applicant has focused research on engineering of intelligent, distributed and heterogeneous networked systems, specifically on design, implementation, testing and verification of agent-based software systems and support tools and techniques for distributed knowledge management systems.

  1. ICT and advanced analytics in intelligent transportation systems: :
    Cities are facing increasing challenges with the projected population growth and the resulting increased urban travel demand. With the accelerating integration of ICT into urban infrastructure new opportunities to tackle these challenges are created. ICT provides unprecedented tool for improving the quality and flow of data for transportation system monitoring, managing and controlling in real-time. In this research we have created an ICT enabled platform for supporting todayís complex and dynamic transportation systems and its users in the form of Smart Multimodal Transportation System Integration (SMTSI). (Funded by AITF, AMA, MITACS, 2013-2018)
  2. Model based approach to verification of distributed and multi-agent systems::
    Detecting and removing emergent behavior during the design phase will lead to huge savings in deployment costs of such systems. A start-up company has been established to develop and to promote a software system based on this method for model-based testing and certification of distributed systems.
    All students hired and funded through this research have received major scholarships, such as Killam, AITF and NSERC graduate awards. (Funded by NSERC 2011-2015)
  3. ICT and advanced analytics in medical diagnosis: :
    This research is envisioned to design and implement software systems to overcome the performance bottlenecks conveyed by computing complexity and big data, which are concrete workflow and data update limitation. The focus is to develop planning for resource management and decision making scenarios using big data analysis, which are applied in clinical environments for efficient resource management and electronic patient record (EPR) analysis. (Funded by MITACS, AITF) (in collaboration with Calgary Laboratory Services).
  4. Uncertainty and hostility management in multi-agent systems:
    The goal of this research is to address competition within an organization of heterogeneous software agents, in which knowledge sharing may not be possible. The applicantís team has developed an incomplete game theoretical decision making method and protocols for competitive agents. (Received 2 best paper awards) (Funded by NSERC)
  5. Agent-based Software Engineering (Agent-SE) Methodology:
    In this research we formalize the development process of multiagent systems as well as the knowledge representation and sharing of agents for cooperative and coordinative agents and use the results in large scale multi-agent system design.
  6. Methodological support for interactive software agents:
    The goal of this research is to devise theories, techniques and measures for enhancing quality and reliability of agent-based systems. Unique points with this research are (a) focus on agent system reliability and quality; (b) focus on agent interactions by starting with a complete set of possible interactions among software agents; and (c) focus on decision making based on multiple threads of control rather than reasoning based on a single thread of control.
  7. Distributed Software Agents for Network Fault Management:
    This research offers a radically different local solution to network fault management as opposed to the centralized techniques that are commonly used in practice. The agents on local nodes are responsible for collecting data, correlating them using a Bayesian network and report only major events to the control station. (Received 2 best paper awards) (Funded by IPA, Japan).
  8. Distributed Multiagent Learning and Tutoring System based on Learning Ecology:
    The goal of the research is to develop an intelligent tutoring system (ITS) that adapts the delivery of instruction according to the learnerís needs, by taking into account learnerís motivation states. Due to computational convenience, many other systems rely only on the learner response to exercises to assess his/her needs. In our approach, however, we looked at one step deeper, the learnerís learning drives, in order to find out what parameters affect the willingness to engage in learning.
  9. Enterprise Knowledge Management Using Knowledge Orchestration Agency:
    In this research, knowledge orchestration is equivalent to peer-to-peer knowledge management using models of organizational interactions characterized by three concepts: flow of information among individuals (people or departments), decentralized management and modularization. The agents work on a body of information and have reasoning and representation mechanisms appropriate for that type of information. Reusable modules (library, package, subsystems, COTS, etc.) for representing and reasoning with the body of information will further reduce the long term operational costs.
  10. Intelligent project lifecycle knowledge management and decision support:
    Mission critical decision making in enterprises depends heavily on intelligent systems for extracting, analyzing and interpreting information from multiple heterogeneous, distributed data and knowledge sources. It is assumed that data warehouses (DW), data marts (DM) are required for optimized data accessibility and use. This research propose a novel architecture based on multiagent technology to support information and knowledge extraction over distributed data sources in order to use them in the decision making process. The proposed framework is applied to a real-world project lifecycle case that is EPC (Engineering Procurement and Construction) project.
  11. Commercial off-the-shelf software components evaluation method using multiagent technology:
    The target problem for this research, i.e., COTS selection, is selected to bring the agent-based and decision support methodologies together. This provides a test bed for methods of interaction (e.g., negotiation, competition), distributed knowledge management, semantic search and traditional and modern decision theories. Partial solutions, such as a multi-criteria decision making system that allows for coalition formation among stakeholders, have already been commercialized. (Funded by NSERC)
  12. Knowledge management in automatic software design:
    In Software Creation project we build a computer aided software engineering (CASE) tool that can imitate the design steps of human designers. There are two types of knowledge involved in human design: detailing knowledge represented by conversion and detailing rules; and the knowledge required for hierarchical expansion, represented by micro design rules. The former refers to the design product knowledge and the latter maps to the design process knowledge. The system incorporates both types of knowledge. (Received 1 best paper award)
  13. Methodologies for automating transition from stakeholders' requests to skeleton code:
    In this project we focus on use-case driven object elicitation, class modeling and skeleton code generation based on natural language requirements and tailor it to the IBMís Rational Extended Development Environment (XDE). We implement a couple of tools and plug-ins that enhance the functionality of XDE by accepting natural language requirements as their input and generating skeleton code as their output. The whole process is divided into two parts based on two main concerns. The first part, called Use Case Model Generator (UCMG), addresses natural language (NL) requirements analysis and use-case modeling. The second part, called Use Case driven Development Assistant (UCDA), is concerned with the use-case realization, object/class elicitation and skeleton code generation.
  14. Intelligent Software Measurement System:
    Software measurement, in order to be effective, must be focused on specific goals; applied to all life-cycle products, processes and resources; and interpreted based on characterization and understanding of the organizational context, environment and goals. The Goal-Question-Metric (GQM) was developed in response to the need for a goal-oriented approach that would support the software measurement. In this research the Intelligent Software Measurement System (ISMS) is developed following the goal-driven software measurement process. In the ISMS project we automate the 10 steps of the process. The main development tasks of ISMS are eliciting the knowledge and experience from software measurement experts, representing it in a flexible yet well-structured way, and building a knowledge base infrastructure for the system.

Old research topics:

  1. Intelligent Agents for Electronic Commerce
  2. Qualitative Functional Reasoning
  3. Qualitative Sensitivity Analysis
  4. Qualitative Reasoning in Supervisory Control
Please click on Research buttons on the left to go to research page. Or click on a link below to get a full description of each theme. Note that some of the files may have restricted access and may be for local use only.

3. Lectures

Graduate and Undergraduate Courses
University of Calgary (Canada)
At the University of Calgary, I am responsible for the following courses:
  1. SENG501: Engineering Large Scale Analytics Systems (4rd year, Software Engineering Course) (updated: Jan. 2015)
  2. SENG421: Software Metrics (3rd year, Software Engineering Course) (updated: Jan. 2006)
  3. SENG401: Analysis and Design of Large Scale Software II (3rd year, Software Engineering Course) (updated: Jan. 2011)
  4. SENG521: Software Reliability and Testing (4th year, Software Engineering Course) (updated: Jan. 2012)
  5. SENG 697: Agent-based Software Engineering (MSc., MEng. Software Engineering Course) (updated: Sept. 2012)
  6. SENG 637: Dependability, Reliability, and Testing Software Systems (MSc., MEng. Software Engineering Course) (updated: Jan. 2012)
  7. ENEL 619.36: Uncertainty Management and Uncertain Programming Techniques (MSc., MEng. Software Engineering Course) (updated: Jan. 2005)
  8. SENG 609.23: Object Oriented Analysis and Design (MSc., MEng. Software Engineering Course) (updated: Jan. 2004)
Please click on the course links to go to each courses' Web page.

Graduate and Undergraduate Courses
Saitama University (Japan)
A summary of my privous lectures at Saitama University is given below.

  1. HTML and CGI Lecture Notes. A unique on-line html and CGI manual (html, Japanese). A 130 pages course document in Japanese is also available for download (PostScript and PDF, Japanese).
  2. Knowledge Engineering (53240) (For B3 undergraduate students) (in Japanese).
  3. Advanced Lectures on Knowledge Engineering (TI-25) (For MSc. graduate students) (slides in English).
  4. Fundamentals of Computer Programming (For B1 undergraduate students) (in Japanese).
  5. Automaton Theory and Formal Languages (53130) (For B2/B3 undergraduate students) (in Japanese).
  6. Software Engineering (53160) (For B3 undergraduate students) (in Japanese).
  7. Advanced Lectures on Distributed Artificial Intelligence (D 425) (For PhD. students)
  8. Experiments in Information Engineering: RDBMS (53040) (For B3 undergraduate students) (in Japanese).
  9. Information Management Systems (TI-26) (For M1 graduate students)


4. Contacts  
Contact Address
Mail. Department of Electrical and Computer Engineering, University of Calgary,
2500 University DR., N.W.
Calgary, Alberta,
Canada T2N 1N4

Tel. +1-(403)-210-5411
Fax. +1-(403)-282-6855
E-mail. fare-mailucalgary.ca
This page was created by B.H. Far. If you may find omissions, glitches, have suggestions for improvement of the material presented here, please contact me.
This page was listed in "Japanese Home Pages Best 5,000," page 302.

The Best 5,000 Japanese Home Pages


Proudly, graduated with the First Rank from the Faculty of Engineering, Tehran University.