Embedded systems are ubiquitous and have a large number of applications. The requirements for embedded systems are not restricted to functionality but also include a lot of non-functional properties such as cost, reliability, safety, ease of use etc. This makes developing a standard design methodology for embedded systems challenging.
In this thesis, we are attempting to include the non-traditional, non-functional constraints of embedded systems in the design process by weighting them in the order of their importance. We propose developing UML models for a system and annotating them with the non-functional constraints by using standard profile extensions and weighted constraint charts. We demonstrate the application of this design technique by developing a few example systems. One of the systems is implemented on Altera UP3 platform and demonstrates how the design technique leads us to choose the implementation that satisfies all the requirements, including the ones that are non-functional.