The following research challenges have been targetted in recent work:
How to model, design and reason rigorously about highly complex software systems (including forms of composition, coordination, interaction and deployment)?
How to derive correct software from abstract models (oriented to critical aspects of system's design such as eg, functionality, security, data quality and usability)?
How to reconstruct abstract models from the real world (including legacy software and incomplete or inconsistent data sources)?