Many mechatronic system capabilities depend on software as well
as hardware. Hardware and software development methodologies,
however, are quite often seperated within a company despite the
obvious advantages of an integrated flow. In some ways, trying
to combine hardware and software design into a single,
integrated flow is much like trying to make a great salad
dressing using oil and vinegar: getting the two to mix well
together can be a challenge, but the end result is well worth
the effort. Though a bit simplified, a typical system design
flow with both hardware and software elements often looks like
the following diagram. While the flows may start out together
with initial system discussions, it isn’t long before the
software team returns to their lab to write the software, and
the hardware team returns to their own lab to simulate, analyze,
and prototype the system hardware. Each team has their own
development processes, and the software and hardware are seldom
integrated until the integration and test