pages
general information on the course
This course is meant to illustrate the conceptual foundations, the main features and the most relevant issues of today distributed computational systems.
Also, the main technologies for constructing distributed systems are introduced, in terms of languages, middleware, and infrastructures.
In particular, logic-based, agent-based, and coordination-based systems are used as the sources for case studies and for experiments in the laboratory.
learning outcomes
At the end of the course, students got acquainted with the fundamental issues of distributed systems, the computational models capturing their essence, and the technologies currently helping facing them in the most systematic and effective way. In particular, students become familiar with the fittest solutions, technologies, architectures, and methodologies to design distributed systems, and is capable of
- devising out the most critical aspects of distributed systems coming from physical distribution
- determining the most proper methodological approaches
- selecting the fittest technologies for implementing the solutions detected
course contents
General Issues of Distributed Systems
- Roots of Distributed Systems: Space, Time & Computation
- Goals & Issues of Distributed Systems
- Sorts of Distributed Systems
Core Issues of Distributed Systems
- Software Architectures
- Middleware
- Computing with Time
- Computing with Space
- Features of Distribution
Paradigms for Distributed Systems
- Distributed Logic Programming / Logic & Computation
- Agent-Oriented Computing / Agents & Multi-Agent Systems
- Coordination-based Systems / Coordination of Distributed Systems
Technologies for Distributed Systems
- Logic Programming in Prolog with tuProlog
- Agents & Multi-Agent Systems with Jade
- Tuple-based Coordination with TuCSoN
- Programming Interaction with ReSpecT
- Standard Services for Distributed Systems: Web Services
- Computing without Space: Cloud Computing
teaching methods
- Lessons with slides
- Examples discussed and built by the teacher and by experts from the field
- Lab activity
assessment methods
- Oral test
- Possible discussion of an individual/group project
course series