Skip to main content

Knowledge Engineering and Distributed Intelligent Systems

Credits
6
Types
Specialization complementary (Software Engineering)
Requirements
Department
CS
Web
https://sites.google.com/upc.edu/ecsdi
The objective of this course is to give students basic knowledge about the latest trends in the use of Artificial Intelligence techniques in distributed systems so that they can understand them and use them in their professional carreer. It is expected that the content of the course will be continuously updated to incorporate emerging new trends in the field. This course presents Artificial Intelligence methods, techniques and technologies which are applied already in the engineering of distributed systems in order to make them more flexible, adaptable and reconfigurable. It presents first a new paradigm of agent-based software design methodologies, where the analysis and design of distributed systems uses concepts from human societies and organizations (actor, role, responsibility, delegation of tasks) to model, in a flexible way, the interactions within the system and ways to recover from failures. Also we see how smart technologies are being implemented (logical reasoning, planners automatic mechanisms of negotiation and argumentation) to extend the semantic web services technologies towards their fullest potential, to make them more flexible and adaptive.

Teachers

Person in charge

Weekly hours

Theory
2
Problems
1
Laboratory
1
Guided learning
0
Autonomous learning
6

Competences

Common technical competencies

  • CT4 - To demonstrate knowledge and capacity to apply the basic algorithmic procedures of the computer science technologies to design solutions for problems, analysing the suitability and complexity of the algorithms.
    • CT4.3 - To demonstrate knowledge and capacity to apply the fundamental principles and the basic techniques of the intelligent systems and its practical application.
  • Software engineering specialization

  • CES1 - To develop, maintain and evaluate software services and systems which satisfy all user requirements, which behave reliably and efficiently, with a reasonable development and maintenance and which satisfy the rules for quality applying the theories, principles, methods and practices of Software Engineering.
    • CES1.4 - To develop, mantain and evaluate distributed services and applications with network support.
  • Reasoning

  • G9 [Avaluable] - Capacity of critical, logical and mathematical reasoning. Capacity to solve problems in her study area. Abstraction capacity: capacity to create and use models that reflect real situations. Capacity to design and perform simple experiments and analyse and interpret its results. Analysis, synthesis and evaluation capacity.
    • G9.3 - Critical capacity, evaluation capacity.
  • Objectives

    1. Understand the origins and foundations of distributed computing on the Internet
      Related competences: CT4.3,
    2. Understanding the basic concepts: Computing as Interaction, Service Orientation, Cloud Computing, Future Internet
      Related competences: CT4.3,
    3. Knowing the possible applications of artificial intelligence for distributed systems on the Internet
      Related competences: CT4.3,
    4. Understanding the basics of Service Orientation
      Related competences: CT4.3,
    5. Understanding the basics of Agent Orientation
      Related competences: CT4.3,
    6. To analyze a problem distributed in nature to identify the different actors and their functionalities
      Related competences: G9.3, CES1.4,
    7. Designing distributed systems using an agent-oriented methodology
      Related competences: CES1.4, CT4.3,
    8. Analysing an agent-oriented design and identifyin where to improve it.
      Related competences: G9.3, CES1.4,
    9. Understand the basic concepts of context representation.
      Related competences: CT4.3,
    10. Analyze a problem distributed in nature and identify the context information that is necessary.
      Related competences: G9.3, CES1.4,
    11. Extract and represent knowledge about the context necessary to build a distributed application on the Internet that is flexible and robust.
      Related competences: G9.3, CES1.4,
    12. Designing context ontologies by applying a methodology properly
      Related competences: CES1.4, CT4.3,
    13. Understanding the concepts related to the dynamic composition of services
      Related competences: CT4.3,
    14. Describe Web services so that they can be incorporated into a dynamic composition process
      Related competences: CES1.4, CT4.3,
    15. Extract and represent the necessary actions to solve dynamic composition by using a planner
      Related competences: CES1.4, CT4.3,
    16. Understand the machine learning concept and know some of its types.
      Related competences: CT4.3,
    17. Understanding the relationship between adaptation and learning.
      Related competences: CT4.3,
    18. Understand how to apply machine learning to adapt to the user.
      Related competences: CT4.3,
    19. Understand how to apply machine learning to adapt to failures.
      Related competences: CT4.3,

    Contents

    1. Introduction
      Evolution of Distributed Computing: from SOA to RPCs. The 'Computation as interaction' concept. New trends: Cloud Computing and the Future Internet. The role of AI in SOA and the Future Internet.
    2. Agent-Oriented Software Engineering
      Introduction to Service Orientation and the W3C standard. Limitations of the model. Introduction to Agent orientation and the IEEE-FIPA standard. Basic concepts: Agent and Multiagent System. Agent-oriented design methodologies. Advantages.
    3. Modeling context in distributed systems
      Modeling context in SOA: service description languages, orchestration and choreography. Context representation: domain, domain model, knowledge, knowledge representation. Knowledge engineering applied to the development of distributed systems on the Web. Ontology-based representations. Semantic Web and Linked data as a representation model.
    4. Dynamic service composition
      Semantic description of services, Service Discovery and Service Matchmakers. Problems of static orchestration and choreography models. Different approaches to dynamic composition: goal driven, state driven, utility driven. Planning applied to dynamic composition of services.
    5. Adapting to the user. User Profile
      Adaptation means learning. Basic concepts on profiling: individual and social profile. Inductive Learning, Recommender Systems and Reinforcement Learning..
    6. Other AI applications to distributed systems
      Governance through social models: reputation, norms. Social structures's models: teams, alliances, coalitions, organizations. Examples.

    Activities

    Activity Evaluation act


    Introduction to distributed computing

    Students learn about the origins and foundations of Distributed Computing and the latest trends for the future. To reinforce learning, the student must read an article from the European Commission on "Future Internet", available online.
    Objectives: 1 2 3 4
    Contents:
    Theory
    2h
    Problems
    1h
    Laboratory
    1h
    Guided learning
    0h
    Autonomous learning
    2h

    Design of agent-oriented distributed applications

    Students not only need to attend the teacher lectures, but also practical exercises on agent-oriented modeling, and participate in discussions with the teacher and their peers about which is the best way to model distributed problems. In the laboratory students will apply what they learned in a moderate problem.
    Objectives: 4 5 6 7 8
    Contents:
    Theory
    6h
    Problems
    4h
    Laboratory
    4h
    Guided learning
    0h
    Autonomous learning
    17h

    Delivering the agent-oriented modeling assignment

    Delivery of the report on the agent-oriented modeling practical assignment that students have done in the lab sessions.
    Objectives: 5 6 7 8
    Week: 6 (Outside class hours)
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Modeling context in distributed systems

    Students not only should attend the teacher lectures, but also do exercises on context modeling and discuss with the teacher and other students on when is best to use each technique. In the laboratory students will apply what they learned in a moderate problem.
    Objectives: 9 10 11 12
    Theory
    7h
    Problems
    4h
    Laboratory
    3h
    Guided learning
    0h
    Autonomous learning
    21h

    Delivering the ontology modeling practical assignment.

    Delivery of the report of the practical assignment on ontology modeling that students have developed in the laboratory.
    Objectives: 9 10 11 12
    Week: 8 (Outside class hours)
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Partial ECSDI exam

    Partial exam on agent-oriented modeling and context modeling
    Objectives: 5 6 7 8 9 10 11 12
    Week: 9
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Dynamic service composition

    Students not only should attend the teacher lectures, but also do exercises on on service description and composition and discuss with the teacher and other students on the issues related to service composition. In the laboratory students will apply what they learned in a moderate problem.
    Objectives: 13 14 15
    Contents:
    Theory
    6h
    Problems
    4h
    Laboratory
    7h
    Guided learning
    0h
    Autonomous learning
    27h

    Adapting to the user. User Profiling

    Students not only should attend the teacher lectures, but also do exercises on the use of basic Machine Learning algorithms for user profiling and participate in discussions with the teacher and other students on how to use these algorithms.
    Objectives: 16 17 18 19
    Contents:
    Theory
    2h
    Problems
    2h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    4h

    Other AI applications for distributed systems

    Students not only should attend the teacher lectures, but also participate in discussions with the professor and the other students on the potential impact Artificial Intelligence techniques may have in the Future Internet.
    Objectives: 3
    Contents:
    Theory
    3h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    2h

    Delivering the Service Composition practical assignment.

    Delivery of the report of the practical assignment on Service Composition that students have developed in the laboratory.
    Objectives: 13 14 15
    Week: 14 (Outside class hours)
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Final ECSDI Exam

    Final exam for all the course contents.
    Objectives: 6 7 8 10 11 12 14 15 18 19
    Week: 15 (Outside class hours)
    Theory
    0h
    Problems
    0h
    Laboratory
    0h
    Guided learning
    0h
    Autonomous learning
    0h

    Teaching methodology

    The classroom sessions are divided into theory, problems and laboratory sessions.

    Theory sessions introduce the knowledge of the course concepts, switching between the exhibition of new material with examples and discussion with students on concepts and examples.

    Problem sessions deepen the knowledge on techniques and methodologies, explained in the Theory sessions. The participation of students will be stimulated to discuss possible alternatives.

    Laboratory sessions develop small practical assignments by using AI tools and languages ​in order to practice and enhance the students' knowledge on concepts, techniques and methodologies.

    Evaluation methodology

    The student assessment will consist of a partial exam mark, a final exam mark and a laboratory mark.

    The partial exam will be done during standard class hours. Passing the partial exam does not mean that those course contents won't appear again int he final exam.

    The laboratory mark will come from the practical assignments' reports.

    The calculation of the final mark will be as follows:
    PM = partial exam mark
    FM = final exam mark
    LM = laboratory mark

    MARK = max ((PM*0.25 + FM*0.25),PM*0.15 + FM*0.35)) + LM*0.45 + Competence Grade

    Competences' Assessment

    The assessment of the competence on reasoning is based on work done during the laboratory assignments. The ABCD grade and the course grade is calculated from a detailed rubric given to students at the beginning of the course.

    Bibliography

    Basic

    Complementary

    Web links

    Previous capacities

    Prior skills on service architectures and design services acquired in the course Software Architecture (AS):
    - Knowledge of service architectures.
    - Knowledge of the principles of services' design.
    - Knowledge of design patterns for services.

    Prior skills on Logics acquired in the course Mathematica Foundations (FM):
    - Knowledge of the basic concepts: logical propositions and predicates
    - Ability to formulate a problem in logical terms.
    - Knowledge of logical inference and decision. Understanding resolution strategies.