[Tinyos-devel] TEP116 HIL/HAL discussion
Vlado Handziski
handzisk at tkn.tu-berlin.de
Thu May 15 09:45:31 PDT 2008
That is exactly our missunderstanding. There is a set of components that are
part of the HIL (and L stands for layer) i.e. part of the implementation of
the hardware independent interface, that sit above the HAL interface. And
CC2420ActiveMessageC, given its implementation and the lack of abstraction
delta with ActiveMessageC (it is only a pass-trough wiring) is for me
clearly such a component. The viewpoint that every component that is not
exporting a HIL interface is HAL is not HAA compliant. HAL is a well defined
tapping point for optimal implementation of platform specific
services/applications.
That is why I had an issue with the combination of MUST and HAL in this
section. The HAL interface should be selected without portability concerns.
In a TEP like 116 we can document the different HALs interfaces and we can
give guidance about the preferred way to transform them into the required
top HIL interface but that's about it.
Vlado
On Thu, May 15, 2008 at 5:57 PM, Philip Levis <pal at cs.stanford.edu> wrote:
>
> On May 15, 2008, at 8:37 AM, Vlado Handziski wrote:
>
>>
>> On the concrete example, CC2420ActiveMesage[CP].nc is the implementation
>> of the active message HIL abstraction fro the cc2420 radio. The platform
>> ActiveMessageC.nc is just a name wrapper over this component. There is no
>> portability penalty between the two. So it is a bit wrong to call
>> CC2420ActiveMessage[CP].nc a HAL. For what is worth, we could have opted for
>> a solution where this component is in fact called ActiveMessageC.nc and deal
>> with the selection of the right HIL implementation via shadowing instead of
>> name wrapper and wiring.
>>
>>
> Well, HIL stands for "Hardware Independent;" CC2420ActiveMessageC is not
> hardware independent. So what is it, if not a HAL? It might be a high level
> of abstraction within the HAL -- which the HAA allows to have multiple
> layers -- but I'd argue that it's within it. 2420ActiveMessageC, for
> example, can have CC2420-specific interfaces, such as CC2420Packet, which
> ActiveMessageC cannot.
>
> Phil
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://www.millennium.berkeley.edu/pipermail/tinyos-devel/attachments/20080515/595013a4/attachment.htm
More information about the Tinyos-devel
mailing list