Research Article

Analysis and Design of the Battery Initial Energy Level with Task Scheduling for Energy-Harvesting Embedded Systems

Algorithm 3

Accurate cycle-initial energy level of battery.
Input: A⟵set of active tasks at time t, sum⟵0
Output: ture of false
(1) function CalculateInitialValue(A; sum)
(2)  t⟵0
(3)  loop
(4)   ⟵the first task of A
(5)   Ei⟵remaining energy cost of theat time t
(6)   Ci⟵remaining execution time of theat time t
(7)   ifthen
(8)    if Ei/Ci < E(t) + R then
(9)     t⟵t + 1
(10)    end if
(11)    if Ei/Ci > E(t) + R then
(12)     sum⟵+sum
(13)     CalculateInitialValue(A, sum)
(14)    end if
(15)   if Ei/Ci = R & E(t) = 0 then
(16)     sum⟵sum + 1
(17)     CalculateInitialValue(A, sum)
(18)    end if
(19)   end if
(20)   A⟵remove the first task of A
(21)  end loop
(22)  if resultCmaxthen
(23)   return Cmax
(24)  else
(25)   return result
(26)  end if
(27) end function
(28) function SCHEDULABILITYJUDGMENT
(29)  ivi⟵CalculateInitialValue(A, sum)
(30)  set the iviand task set A, and execute schedule algorithm
(31)  if Scheduling algorithm is schedulable then
(32)   return true
(33)  else
(34)   return false
(35)  end if
(36) end function