An everyday activity for an embedded software developer is designing an interface for the software component they are working on. An interface describes the interactions that can be performed with the ...