CPC G06F 9/45558 (2013.01) [G06F 9/541 (2013.01); G06F 2009/4557 (2013.01)] | 15 Claims |
1. A computer-implemented method of controlling hardware components of a mobile vehicle, each hardware component configured to perform a vehicle function, the method comprising the following acts performed in response to the execution of instructions stored in non-transitory computer readable media by at least one processor, the acts comprising:
providing an application layer comprising a plurality of virtual functional components, each virtual functional component representing a virtual function comprising one or more of the vehicle functions;
providing a software virtualization layer including a command registry including virtual commands for vehicle functions that are available to each virtual functional component to perform their corresponding virtual function and a data registry including state information, the state information including a current state of each of the virtual functional components and each of the physical nodes;
providing a hardware virtualization layer comprising mapping logic that maps virtual commands to hardware commands;
providing a hardware component layer comprising a plurality of physical nodes, each physical node being a virtual representation of a corresponding hardware component;
calling a virtual command from the command registry using a virtual functional component to perform a corresponding vehicle function, which is configured to at least partially complete the virtual function represented by the virtual functional component;
communicating the virtual command from the software virtualization layer to the hardware virtualization layer;
selecting one of the physical nodes corresponding to the received virtual command using the mapping logic using the hardware virtualization layer;
translating the received virtual command to a hardware command using the mapping logic using the hardware virtualization layer including modifying a sequence of one or more instructions of the received virtual command to a format that is suitable for execution by the one or more hardware components;
communicating the hardware command to a selected hardware component corresponding to the selected physical node using the hardware virtualization layer;
performing the vehicle function corresponding to the hardware command using the selected hardware component;
exposing the data registry to the plurality of virtual functional components;
outputting data elements from one or more of the hardware components, each data element representing a value of a parameter of the mobile vehicle;
communicating the data elements from the one or more hardware components to their corresponding physical nodes;
communicating the data elements received by the physical nodes to the software virtualization layer using the hardware virtualization layer; and
updating the state information based on the data elements received from the hardware virtualization layer using the software virtualization layer.
|