Admission requirements
Recommended prior knowledge
Basic knowledge of automata theory, mathematical logic and concurrency.
Description
The advent of component based systems, service oriented architectures, and massive coarse-grain concurrency supported by multi-core platforms presents new challenges in software engineering. These trends bring forth issues involving formal models for compositional construction of software, as well as interaction protocols; connector or glue-code programming; loose inter-component coupling; dynamic reconfiguration; composition, and coordination of components by third parties. All of these issues must be satisfactorily addressed in the context of distributed concurrent systems. Traditional software construction techniques and their underlying formalisms fall short in meeting these challenges.
Course objectives
The objective of this course is to study the challenging software engineering issues involved in the design, development, analysis, and formal verification of concurrent parallel or distributed systems, component based software, service oriented architectures, and cloud computing. The students learn the shortcomings of existing techniques for construction of complex concurrent systems by composing independent pieces of functionality, and study the current frontier research that attempts to address them.
Timetable
The most recent timetable can be found at the students' website.
Mode of instruction
Lectures, literature study, and presentations.
Course load
Total hours of study: 168 hrs. (= 6 EC)
Lectures: 26:00 hrs.
Self-study: 139:00 hrs.
Examination: 3:00 hrs.
Assessment method
Class projects, homework assignments, student presentations, and final exam.
Reading list
Collection of papers and book chapters assigned by lecturer.
Registration
- You have to sign up for courses and exams (including retakes) in uSis. Check this link for information about how to register for courses.
Contact information
Lecturer: prof.dr.ir. Farhad Arbab