Software architecture for systems of software intensive systems (S3)
John Brøndum · 2010
Key to software architecture is the description of relationships between software components [10] supported by commonly understood semantic definitions [9][8]. However, the definitions do not adequately capture the inter-system level software relationships. This leaves software architects either unaware of critical relationships or, to 'roll their own' based on aggregations of code-level call/use structures. This leads to critical gaps in the architectural description and communication problems within distributed development environments - as poorly understood relationships can inadvertently propagate changes and break system interoperability [2]. The solution requires a description of new system level relationships and a new systematic, repeatable technique to detect both immediate and linked system level relationships. The solution will be developed through the mining of existing software ecosystems and industry systems of software intensive systems (S3) architectures. Validation will be performed through case studies from industry collaborations.