Learning outcomes

This course aims to provide a thorough understanding of the foundations of distributed software architectures and developing an academic understanding of what are software architectures, i.e. be able to propose abstractions, criticism and to control complexity.

Content

Concurrent Algebra, architecture description languages, modeling the behavior of components, model mobile architectures, component architectures, architectural styles (Patterns, pattern languages, ...), meta-modeling and meta-CASE, specific modeling languages (DSL - Domain Specific Languages), driven by engineering models and transformational approaches, modeling non-functional requirements in architecture, transformational approach architectures, aspect-oriented programming (AspectJ study and case study).

Teaching methods

This course is organized in a series of lectures with slides and discussion sessions after reading an article previously distributed. Depending on the number of students enrolled, an oral presentation of an article in the course can be organized.

Assessment method

Written examination on the understanding of theoretical material + a project lab by group of students.

Sources, references and any support material

see webcampus

Language of instruction

French
Training Study programme Block Credits Mandatory
Master in Computer Science, Professional focus Standard 0 5
Master in Computer Science, Professional focus Standard 1 5