Executable UML for Embedded Systems Development
The process of building an embedded system can be thought of as a system in its own right. It has inputstypically requirements, it has processes, and it has outputstypically software and hardware. Its efficiency should be questioned. It can be optimised to make it smaller and faster, without compromising the quality of the deliverables.
Traditional software development processes based upon a "Waterfall" or "Vee" lifecycle model with an "AnalyseDesignImplement" approach are stretched to their limit, particularly in their ability to provide a rapid response to customer requirement changes and phased delivery of evolving products. What is required in a development process is the ability to maintain a minimum number of core components, which can be taken into later stages of development.