= Components = '''''Note: This definition of Component is outdated. Need to update with proper definition''''' [wiki:Components Components] are physical or virtual devices, that interact with the !GoodRobot.com server – sending or receiving data using the [wiki:API API]. Examples include a robot, arduino with ethernet shield, a web page, devices with sensor information etc. Programs that only query the !GoodRobot.com (without sending any data), the data path of video camera (that does not use the API) are examples of non-components. Authors of all components (including those developed by !GoodRobot.com team) shall provide the details of the components using Component capability XML (CoCap) and upload them to !GoodRobot.com server. This informs !GoodRobot.com server about the capabilities and functionality of the given component. Each component is identified by a name, that defines a component class. For example, “phidgets-based robot”, “arduino-based robot”, “phidgets robot with impact sensor” are some possible component names. !GoodRobot.com shall provide the schema for this CoCap XML and will provide several examples in building this XML for a custom component. Each physical (or virtual) robot that is built (that is located in a specific location, with a specific IP address) has multiple components as part of it. The given instance of the robot also creates instances of each of the components, addressed based on the instance name of the robot created (such as “myrobot”, “goodrobot” etc). If the robot instance name is “myrobot”, then the instance name of the web component could be addressed as “myrobot.web” For Component Capability XML definition, see [CoCap here].