PLASMA Modern software-intensive systems are expected to adapt, often while the system is executing, to changing requirements, failures, and new operational contexts. PLASMA is an approach to dynamic system adaptation that utilizes plan-based and architecture-based mechanisms. PLASMA utilizes an architecture description language (ADL) and a planning-as-model-checking technology to enable dynamic replanning. The ability to automatically generate adaptation plans based solely on ADL models and an application problem description simplifies the specification and use of adaptation mechanisms for system architects. PLASMA uses a three-layer architecture that, while similar to previous work, provides several significant improvements. Figure below depicts the Architecture of PLASMA. In order to demonstrate the contributions and effectiveness of PLASMA, we have leveraged a family of robot-based systems developed in collaboration with Bosch Research and technology center. Our robotic application consists of three or more robots that form a convoy and follow a leader robot. The leader robot is provided with a path to follow in the form of a series of spatial coordinates called waypoints. Each follower robot uses on-board sensors to track the robot immediately ahead of it in the convoy and follow it. Each robot in our case study consists of an iRobot Create mobile programmable robot, an attached eBox 3854 embedded computer running Fedora Linux, a camera, a GPS receiver, an infrared (IR) receiver, and an IR transmitter. Also, the iRobot platform includes a front bumper sensor that detects when the robot has run into an obstacle, while the eBox includes a 802.11 wireless LAN adapter. A picture of the robots is shown in Figure below. |