@inproceedings{172, keywords = {f6mdk}, author = {Gabor Karsai and Daniel Balasubramanian and Abhishek Dubey and William Otte}, title = {Distributed and Managed: Research Challenges and Opportunities of the Next Generation Cyber-Physical Systems}, abstract = {Fractionated spacecraft - a cluster of simple satellites that are wirelessly connected, perform high-resolution sensing functions by running distributed sensor fusion applications. Coordinated swarms of networked Unmanned Aerial Vehicles carry out data collection damage assessment flights over large geographical areas affected by weather events. Fleets of Unmanned Underwater Vehicles collect climate change data from oceans with the help of sensor fusion and motion control applications. Smart data acquisition and control devices implement distributed sensing and control functions for the Smart Electric Grid. Such `cyber-physical cloud computing platforms' present novel challenges because the system is built from mobile embedded devices, is inherently distributed and typically has highly fluctuating connectivity among the modules. Architecting software for these systems raises many challenges not present in traditional cloud computing. Effective management of constrained resources and application isolation without adversely affecting performance are necessary. Autonomous fault management and real-time performance requirements must be met in a verifiable manner. It is also both critical and challenging to support multiple end-users whose diverse software applications have changing demands for computational and communication resources, while operating on different levels and in separate domains of security. The solution presented in this paper is based on a layered architecture consisting of a novel operating system, a middleware layer, and component-structured applications. The component model facilitates the creation of software applications from modular and reusable components that are deployed in the distributed system and interact only through well-defined mechanisms. The complexity of creating applications and performing system integration is mitigated through the use of a domain-specific model-driven development process that relies on a domain-specific modeling language and its accompanying graphical modeling tools, software generators for synthesizing infrastructure code, and the extensive use of model-based analysis for verification and validation.}, year = {2014}, journal = {17th IEEE Symposium on Object/Component/Service-oriented Real-time Distributed Computing}, month = {2014}, }