Knowledge Engineering and Distributed Intelligent Systems

You are here

Credits
6
Types
Specialization complementary (Software Engineering)
Requirements
  • Prerequisite: AS
Department
CS
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

  • Javier Béjar Alonso ( )

Weekly hours

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

Competences

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

Technical Competences of each Specialization

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.

Transversal Competences

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
2h

Partial ECSDI exam

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

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
1h

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
2h
Problems
0h
Laboratory
0h
Guided learning
0h
Autonomous learning
9h

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.