On various projects where I was part of the Mass Props team (ie. I was pretty much kidnapped) the software guys would always try to excuse themselves from the often very painful process of getting system weight under control. After all, code has no mass, right? I was finally able to make progress when I explained it this way:
--We are building a large set of avionics
--The architecture demands that much of it be controlled by both software and firmware
--There is no purpose for all of the: processor boards, power supplies, bus controllers, cooling modules, cable harnesses, etc. except to host and run your software and firmware
--Therefore, your software/firmware is one of the largest single factors driving the weight of the system
--If you don't feel responsible for the weight of all the processors and ancillary equipment because someone else is stuck designing it, well fine. We'll just delete all of it and you can go back into your office and write code for your laptop. But, fair warning, if there is no deliverable system, there's no need for simulator code running on your laptop....
I kept a running list of the weight per 100k SLOCs for various types of platforms and environments. The weight of SW is definitely non-zero.
Dave