TASIS: a typology of architectural strategies for interoperability in software-intensive systems (2025)