Max,
Great work. Here are some comments. I haven't read all the comments, so there might be some duplication
Section 4.3 Power:
PowerState interface, do we need externalSource since it is in the PowerSource interface? The original thinking was to have it since timeRemaining was for battery, so you need a way to tell if you are plugged in. But can you derive from the fact that timeRemaining is NULL which mean that you are plugged in, otherwise you can't power up. If you want to leave it in, that is fine also.
Should we put a statement that timeRemaining is an average of all the battery sources on the system?
Should we have capacity at this level?
The statement "The value of this element must be unique within the list reported in a CpuState object" in the description of id as part of PowerSource interface does not make sense. Should this be "The value of this element must be unique within the list reported in a PowerState object".
Section 4.4 CPU:
The id attribute of CPU info, probably could be a enumerated type? Originally I have it as a string because with newer CPUs coming out all the times, it would be hard to keep this up. Maybe it is better to have some pre-defined format? I don't know how you would suggest something like that in the spec.
currentFrequency is settable, should we mention what happen if you can't throttle the speed? Is an error occurred and it is set back to its previous speed? Also, should we mention something of the sort that this feature should be used with care since you can affect other applications that currently running.
Section 4.5 Temperature:
ThermalState's status attribute, should that be temperature or globalTemp? Should this be Celcius instead of value from 0 to 1?
CoolingSystem's value attribute is a value between 0 and 1, I don't remember why we had it this way? If you have 2 fans and 1 is broken then would this value be 0.5. If you have 1 fan and 1 liquid cool, if the liquid cool is dead, then is this value still 0.5? It is all depending on the effectiveness of the cooling device. I guess for simpilicity, just calculate as all cooling devices have the same effectiveness.
CoolingDevice need a status as if the cooling device is running or dead.
Section 4.6 Network:
Connection interface, How about removing activeConnection, since there might be more than one active connection. You could have Wireless and Wire active. For instance the Wireless connection go out to internet, Wire connection with a cross over cable connects to another box such as storage device.
We probably need to add a boolean status to Connection interface, telling if the network interface is up or down.
Section 4.9 Storage:
StorageUnit:
Should we mention NAND, Flash as part of TYPE_RAM?
Section 4.10 Output Devices
After thinking some more about this section, I don't remember why this was written this way.
For Display interface, should this be something like?
Interface Display {
Attribute DisplayDevice devices[];
}
Move all the other attributes to DisplayDevice and add a attribute Boolean active to it.
Section 4.11 Input devices
Should we add resistive verse capacitive type for touchscreen? Maybe this does not matter?
Thanks
Dzung Tran
Intel Corporation