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
Understand the origins and foundations of distributed computing on the Internet
Related competences:
CT4.3,
Understanding the basic concepts: Computing as Interaction, Service Orientation, Cloud Computing, Future Internet
Related competences:
CT4.3,
Knowing the possible applications of artificial intelligence for distributed systems on the Internet
Related competences:
CT4.3,
Understanding the basics of Service Orientation
Related competences:
CT4.3,
Understanding the basics of Agent Orientation
Related competences:
CT4.3,
To analyze a problem distributed in nature to identify the different actors and their functionalities
Related competences:
G9.3,
CES1.4,
Designing distributed systems using an agent-oriented methodology
Related competences:
CES1.4,
CT4.3,
Analysing an agent-oriented design and identifyin where to improve it.
Related competences:
G9.3,
CES1.4,
Understand the basic concepts of context representation.
Related competences:
CT4.3,
Analyze a problem distributed in nature and identify the context information that is necessary.
Related competences:
G9.3,
CES1.4,
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,
Designing context ontologies by applying a methodology properly
Related competences:
CES1.4,
CT4.3,
Understanding the concepts related to the dynamic composition of services
Related competences:
CT4.3,
Describe Web services so that they can be incorporated into a dynamic composition process
Related competences:
CES1.4,
CT4.3,
Extract and represent the necessary actions to solve dynamic composition by using a planner
Related competences:
CES1.4,
CT4.3,
Understand the machine learning concept and know some of its types.
Related competences:
CT4.3,
Understanding the relationship between adaptation and learning.
Related competences:
CT4.3,
Understand how to apply machine learning to adapt to the user.
Related competences:
CT4.3,
Understand how to apply machine learning to adapt to failures.
Related competences:
CT4.3,
Contents
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.
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.
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.
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.
Adapting to the user. User Profile
Adaptation means learning. Basic concepts on profiling: individual and social profile. Inductive Learning, Recommender Systems and Reinforcement Learning..
Other AI applications to distributed systems
Governance through social models: reputation, norms. Social structures's models: teams, alliances, coalitions, organizations. Examples.
Activities
ActivityEvaluation 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:1234 Contents:
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:45678 Contents:
Delivery of the report on the agent-oriented modeling practical assignment that students have done in the lab sessions. Objectives:5678 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:9101112
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:9101112 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:56789101112 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:131415 Contents:
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:16171819 Contents:
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:
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:131415 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:67810111214151819 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.
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.