Article Preview
TopBackground
The problem of Hardware/Software Partitioning (HSP) is influenced by several parameters related to non-functional requirements (NFR). Many approaches were proposed to tackle this problem, and they are categorized into two families, the family of exact algorithms and the family of heuristic algorithms.
Exact algorithms are principally composed of ‘branch and bound’ method (BB), ‘integer linear programming (ILP)’ and ‘dynamic programming’ (DP).Branch and bound is defined in (Jens, 1999), the algorithm relies on binary tree, at each level of the tree, each variable can take the values 0 or 1, the objective is to find the best path from the top to the bottom of the tree which has the optimal cost under the given constraints; an example of its application to hardware software partitioning problem is presented in (Mann et al., 2007). Linear program formulation is composed of a set of variables, a set of inequalities (linear), and an objective function (linear), ILP was used to deal with the hardware software partitioning problem in (Ralf & Peter, 1996). Dynamic programming, by definition, is a method, in which big problems are divided into smaller problems, and then, the solution of the problem is discovered through solving the smaller problems; an example of using dynamic programming in HW/SW partitioning problem is described in (Knudsen & Madsen, 1996).