SAMM: an architecture modeling methodology for ship command and control systems