The paper describes the design and verification of a self-adaptive system, composed of multiple smart cameras connected to a monitoring station, that determines the allocation of network bandwidth to the cameras. The design of such a system poses significant challenges, since multiple control strategies are active in the system simultaneously. In fact, the cameras adjust the quality of their streams to the available bandwidth, that is at the same time allocated by the monitoring station. Model checking has proven successful to verify properties of this complex system, when the effect of actions happening in the physical environment was neglected. Extending the verification models to include disturbances from the physical environment is however nontrival due to the state explosion problem. In this paper we show a comparison between the previously developed deterministic model and two alternatives for disturbance handling: a probabilistic and a nondeterministic model. We verify properties for the three models, discovering that the nondeterministic model scales better when the number of cameras increase and is more representative of the dynamic physical environment. We then focus on the nondeterministic model and study, using stochastic games, the behavior of the system when the players (cameras and network manager) collaborate or compete to reach their own objectives. 6 1 rewards "rm_calls" 2 [man_inter] true : 1; // +1 when manager intervenes 3 endrewards 4 rewards "frame_dropped" 5 [] cam = cam_fr_drop : 1; // +1 with every dropped frame 6 endrewards 7 rewards "frame_sent" 8 [] cam = cam_fr_sent : 1; // +1 with every sent frame 9 endrewards 10 rewards "cost" 11 [man_inter] true : 1; // +1 when manager intervenes 12 [] cam = cam_fr_drop : 10; // +10 with every dropped frame 13 endrewards Listing 5. Reward Structures 1 R{"rm_calls"}max =? [ F end ] // MDP-1: Maximum interventions 2 R{"rm_calls"}min =? [ F end ] // MDP-2: Minimum interventions 3 R{"frames_dropped"}max =? [ F end ] // MDP-3 Maximum dropped 4 R{"frames_dropped"}min =? [ F end ] // MDP-4: Minimum dropped 5 R{"frames_sent"}max =? [ F end ] // MDP-5: Maximum frames sent 6 R{"frames_sent"}min =? [ F end ] // MDP-6: minimum frames sent 7 R{"cost"}min=? [ F end ] // MDP-7: Minimum operational cost Listing 6. Properties of MDP models