Formalizing Composable Software Systems — A Research Agenda 1