# Brainware Computing: Concepts, Scopes and Challenges
## 3 CONCEPTS: What Is Brainware Computing  
Brainware Computing denotes searching, deploying, and enabling brain images to be performed at the robots from edges and cloud, extensive global training, sharing weights, inference optimization, shifting control of brains in robots, and sharing knowledge among the edges. Here, we define any artificial intelligence (mostly deep learning) model that is obtained through supervised, unsupervised, or reinforcement learning and trained in a centralized, decentralized, or federated manner with driving application and metadata as the brain. Initially, the model in the brain images is obtained by training in a centralized manner on a large dataset at the core cloud with high computational capacity. Then, based on the services and demands by the robots, the model updates its learning at a service-aware learning unit in the edge. For this purpose, the robots should contain all possible sensors and actuators with flexible hardware capability. The general purpose robot contains all possible hardware arrangements to interact with the real-world environment regardless of services. During the execution, necessary sensors and actuators among all the components are mapped, equipped, and driven by the service-oriented service application of the brain using metadata.  
Figure 1 illustrates the concept of Brainware Computing. Brainware Computing leverages the computation, storage, and data transmission capability of both edge and cloud computing. Core cloud stores all the necessary brains in the global intelligent brain store. Every edge cloud also contains the group of brains in a local intelligent brain store for enabling requested brain images at different times into the robot. Depending on the service demands that are requested by the robots, the edge cloud enables and sends the brain image to that particular robot. For a particular service, the edge sends the corresponding brain image to the robot. After performing the task, the robot removes the brain image (see Figure 2). For example, a general-purpose household robot receives the commands from the house owner through voice recognition for cleaning the house in the afternoon. The robot sends the metadata, which includes service details with surrounding environmental data, to the nearest edge. The corresponding edge analyzes the metadata and environment information for searching for an appropriate brain among the edges and core cloud. The selected brain is enabled and deployed into that particular robot. After finishing the cleaning task, if the same robot is requested to perform the task of taking care of a child, then the previous cleaning brain is disabled and removed from the brain. At night, the same robot can install the surveillance and guard brain image to ensure security by roaming around the house. For performing the new task, the same procedure repeats as described, and the robot performs the requested task. All the robots for all the services follow the same  
operational flow as described. The overall flow of execution of the Brainware Computing can be divided into the following concerns:  
1. End devices (Robots, Cobots, etc.)  
* Local end device associative standalone operating application for handling the processing of metadata;
* Sensors and actuators arrangement.
2. Edge cloud
* Inter edge coordinating communication;
* Semantic environment understanding;
* Inter-edge interfacing for searching for service-oriented brain;
* Service aware knowledge updating of the enabled brain;  
- Federated learning (Supervised, Unsupervised, Semi Supervised);  
- Reinforcement learning;
* Encapsulating AI model, software and metadata and managing images;
* Local edge intelligent brain store;
* Resources management.
3. Core Cloud
* Global model updating;  
- Federated averaging;  
- Centralized deep learning;  
- Global intelligent brain store;  
- Inter-edge coordinator;  
- Container management.  
The functional impact of the concerned units are elaborately described in the following section.