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).

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

Français