Credits
6
Types
Specialization complementary (Software Engineering)
Requirements
- Prerequisite: AS
Department
CS
Web
https://sites.google.com/upc.edu/ecsdi
Teachers
Person in charge
- Javier Béjar Alonso ( bejar@cs.upc.edu )
Weekly hours
Theory
2
Problems
1
Laboratory
1
Guided learning
0
Autonomous learning
6
Competences
Common technical competencies
- 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.4 - To develop, mantain and evaluate distributed services and applications with network support.
Reasoning
- 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
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
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
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
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
-
Service-oriented architecture: concepts, technology and design
- Erl, T,
Prentice Hall PTR,
2005.
ISBN: 9780131858589
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003166409706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
SOA: principles of service design
- Erl, T,
Prentice Hall,
2008.
ISBN: 9780132344821
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003691119706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
SOA design patterns
- Erl, T,
Prentice Hall,
2009.
ISBN: 978-0136135166
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003691139706711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Complementary
-
SOA governance: governing shared services on-premise and in the cloud
- Erl, T.; Bennett, S.G.; Gee, C.; Laird, R.; Manes, A.T.; Schneider, R.; Shuster, L.; Tost, A.; Venable, C,
Prentice Hall,
2011.
ISBN: 9780138156756
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991003986669706711&context=L&vid=34CSUC_UPC:VU1&lang=ca -
Artificial intelligence: a modern approach
- Russell, S.; Norvig, P,
Pearson,
2022.
ISBN: 9781292401133
https://discovery.upc.edu/discovery/fulldisplay?docid=alma991005066379806711&context=L&vid=34CSUC_UPC:VU1&lang=ca
Web links
- Canal de youtube para los videos de laboratorio https://www.youtube.com/channel/UClLXHUWjI3sSbPAY7Sh011g
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.