Notes by Frank M. Rischner
Architecture Patterns for Mobile Systems in Resource-Constrained Environments
Grace Lewis, Jeff Boleng, Gene Cahill, Edwin Morris, Marc Novakouski, James Root, and Soumya Simanta, SEI
First responders, soldiers, and other front-line personnel work in resource-constrained environments. It is necessary to use mobile systems in those environments. The systems are limited in performance and battery life.
This talk is about architectural patterns. The first pattern Lewis talked about is the Data Source Integration Pattern, which means the data source is on the server. Some of the operations on the data are very power consuming, so we don’t want them on the mobile device. The user defines the filters on the mobile device and sends them to the server. The second pattern is the Group Context Awareness Pattern. The users don’t go out in the field alone. The users’ devices are connected to the same controller, so all devices show the same view. Since the users are not in the field alone and probably operate in a close area, only one device needs the GPS has to be turned on. This model is a layered MVC pattern. Rule sets apply to the mission and are interchangeable. The third pattern is the Cloudlet-Based Cyber-Foraging Pattern. Cyber-foraging has been around for a while; the most known application is probably Siri from Apple. The Cloudlet-Based Cyber-Foraging base is on a VM manager.
Lewis and her team have implemented all these patterns. Currently, they are working on combining all the patterns. Some of the patterns are implemented in a one-to-one situation, which means that one client connects to his own virtual machine.
eMontage: An Architecture for Rapid Integration of Situational Awareness Data at the Edge
Soumya Simanta, Gene Cahill, and Edwin Morris, SEI
Simanta picks up on the first presentation in this session and shows an implementation of the Data Source Integration Pattern.
The connectivity to the network is limited in disaster situations, and the application has to respond quickly. The eMontage server is placed in the tactical domain. Location awareness is important for the application.
It is important to add new data sources as quickly as possible. An approach is to decouple the data sources and encapsulate them. The data model presented is comprised of objects that are shared between the client and server. In order to add data, the different sources have to be mashed up. The user interface should be unified in the system, and this can be achieved by using mashups. The expensive computations are offloaded to a server node.
Simanta and his team looked at three architectural alternatives: native mobile client only, mobile browser–server, and native mobile client–server.
Adapting View Models as a Means for Sharing User Interface Code Between OS X and iOS
Dileepa Jayathilake, 99XTechnology
Jayathilake showed how to share a significant amount of code between applications for OS X and iOS. The frameworks for those two platforms, Cocoa and Cocoa Touch, share a lot of code.
On first look, both platforms are only able to share the models. If we abstract common view behavior from the platform-specific view behaviors, we can share a lot more code.
Jayathilake applied his theory in a middle-scale application, showing that his ideas work.