Hello Dear Massak,
I'm not an understood person in that research field (SJFC scheduling), but what I know is, that to implement this scheduling algorithm you'll have to create a new VM Allocation Policy. This allocation policy need to have the rules of SJFC scheduling and implement the abstract method required by extension of VmAllocationPolicy class.
I have looked in CloudSim Power examples and I saw some codes that provides some ideas about how to implement this strategy... for instance, execute dvfs.java class and you will discover how to inform CloudSim about your scheduling algorithm for energy consumption using a String value. This class instantiates a new RandomRunner object that receive all program configuration arguments and then pass all of them to its superclass called RunnerAbstract... inside RunnerAbstract you'll find a method called getVmAllocationPolicy that handle Power VmAllocationPolicy selection.
In few words, you will create your own Vm Allocation Policy containing SJFC algorithm prerrogatives, after it, you'll update RunnerAbstract adding your new option.
Start running these examples and understanding how simulator performs, after create your code from one single implementation and, level-by-level, go up the complexity... I'm sure that you will learn and achieve.
Have a good start!!
Regards!
Mário Pardo
ICMC-USP / São Carlos / Brazil