Characterizing essential and incidental complexity in software architectures | IEEE Conference Publication | IEEE Xplore