290 likes | 435 Views
ECE/MAE 7750: Distributed Control Systems FISP: Focused Independent Study and Presentation Topic: State – Centric Programming for Sensor – Actuator Network Systems. Presenter: Anand S Madhusoodanan Dept. of Electrical and Computer Engineering Utah State University
E N D
ECE/MAE 7750: Distributed Control SystemsFISP: Focused Independent Study and PresentationTopic: State – Centric Programming for Sensor – Actuator Network Systems Presenter: Anand S Madhusoodanan Dept. of Electrical and Computer Engineering Utah State University E: ; T: (435)797-; F: (435)797-3054 W: 02/28/2005
Need for a different Programming Model A distributed sensor – actuator network (DSAN) needs different models and tools as compared to other applications due to the following reasons • Massive number of potentially failing nodes. • Limited energy • Limited bandwidth • Need to rapidly respond to sensor inpits. ECE/MAE 7750 Distributed Control Systems
Challenges in designing a Model The following points must be kept in mind when we design a programming model for DSANs. • The application must be scalable, robust and portable. • Organizational principles for building applications where there is going to be a mixing and matching of various communication protocols and communication events, • Ability of the model to expose underlying constraints so that system trade – offs can be effected. ECE/MAE 7750 Distributed Control Systems
Collaboration Groups • This is an idea that has been built upon the ideas of the data – centric networking, sensor databases, and proximity – based group formation. • The application developer specifies the computations as the creation and aggregation of states. • Programmers write application algorithms for state update and retrieval. • This approach makes the system more portable and modular. ECE/MAE 7750 Distributed Control Systems
Advantages of sensor network systems • Improved signal – to – noise ratio due to a reduction in average distances from sensor to physical phenomena. • In – network processing and actuation reduces the feedback chain and improve the timeliness of observation and response. • The system is more robust against its individual node or link failures due to its decentralized nature. • Decentralized algorithms are more scalable in practical deployment. ECE/MAE 7750 Distributed Control Systems
Alternatives to state – centric programming Collaborative signal and information processing • Advantages • Robust • Scalable • Disadvantages • Hard to design, implement and debug • Highly specialized and must cope with a great deal of uncertainty in the hardware, sensor measurements and communication. • Node and network – centric interfaces do not provide enough ECE/MAE 7750 Distributed Control Systems
Disadvantages (Cont’d) • Most other sensor network interfaces only provide primitives to discover communication between peers and to send and receive messages. • Node – centric abstractions for the CISP are raher difficult to manage. ECE/MAE 7750 Distributed Control Systems
Target Tracking • This is a problem that is essential to many commercial and military applications • The goal of a tracking system is to estimate target state history on the basis of sensor measurements. • Each sensor node provides a local measurement that is useful in estimating a target state. • However only a relatively small subnet of sensors provide a significant contribution to the estimation due to the sensing range limitations. ECE/MAE 7750 Distributed Control Systems
Target Tracking (cont’d) • To account for this, a leader – based tracking scheme is used to fuse information from only those sensors that provide high quality measurements. • At a time ‘t’ let a single node that is close to the target be selected as the leader. The leader fuses these high signal – to – noise ratios and updates the current target location. This is called the belief. • Due to the properties of signal propagation the sensors with high signal – to – noise ratio will be located within a limited range of the leader. • Hence communication and latency cost for sensor data is minimized. ECE/MAE 7750 Distributed Control Systems
As the target traverses the sensor field and the belief follows its motion. Hence the most informative sensors may no longer be the closest to the target. At this point in time a new sensor is chosen with the updated belief. • The current leader then hands off the belief to the new sensor which then becomes the leader at a time ‘t+d’. • This process repeats itself. ECE/MAE 7750 Distributed Control Systems
Another case maybe a sensor network that is deployed to measure temperature. • If the sensor network collectively finds a contour of constant temperature within the sensor field. In this case the state of the tracked phenomenon may not be available to a single sensor or its local neighborhood. • Each sensor might detect a section of the contour by locally comparing sensor measurements but the network must piece together these states and form the contour object’s global state. ECE/MAE 7750 Distributed Control Systems
Drawbacks of the mentioned models • The models discussed in the previous examples have the following drawbacks • Maintain sensor connectivities in a neighborhood. • Discover the best node for handoff • Invite neighbor nodes into the group. • Handle communication delays and failures. ECE/MAE 7750 Distributed Control Systems
State – centric programming • CSIP applications are not generic distributed programs. • Some states can be represented centrally but others must be represented in the distributed fashion. • A distinct property of the physical states such as location, shape and motion of objects is continuous with respect to space and time. • The sensing and control these states through sequential state updates. ECE/MAE 7750 Distributed Control Systems
The state – centric abstraction for state updating is given as follows • x – system state • k – integer update index over space or time • u – input • y – output • f – state update function • g – output observation function ECE/MAE 7750 Distributed Control Systems
However the formulation is not as cleanly represented as shown previously • The questions that must be addressed are • Where are the state variable stored • Where do the inputs come from • Where are the functions ‘f’ and ‘g’ evaluated • How long does it take to acquire the set of inputs • Are the inputs acquired synchronously • Do the inputs arrive in correct order • Is the choice of the update interval consistent ECE/MAE 7750 Distributed Control Systems
These are issues that the programmer’s must address. They are more to do with concurrency, reactiveness, networking and resource management. • To address these issues we need new design methodologies and frameworks to provide meaningful abstractions. • Domain – specific runtime systems are used to support this design methodology to ensure correct and efficient execution. ECE/MAE 7750 Distributed Control Systems
Collaboration Groups • A group is a set of entities that contribute to a state update. These entities can be physical or logical sensor nodes or abstract system components such as software agents. In this context they are all called agents. • A group encapsulates two properties – scope and structure. • A scope can be specified in terms of existence or by a membership function. • Grouping nodes according to their physical attributes rather than their node addresses is an important abstraction. • A scope can be evaluated locally or dynamically. Scoping is critical to maintain the scalability as sensor networks grow. ECE/MAE 7750 Distributed Control Systems
A group’s structure defines the roles that ach member plays in a group. • The concept of roles played by nodes shields the programmers from addressing individual nodes by either name or address. • Redundancy can be introduced by multiple nodes having the same role. This improves application robustness. • Roles allow the implementation of highly optimized networking and control flow protocols at runtime to support group execution. ECE/MAE 7750 Distributed Control Systems
At runtime the scope and structural dynamics of the groups is managed by the group management protocols which are highly dependent on the types of groups. • Combinations of patterns and scopes could create groups that could be reusable. • Geographically constrained group • It consists of a set of nodes located within a fixed geographical region. • As physical signals attenuate from the with distance, this group captures the sensors that can possible sense local phenomenon. ECE/MAE 7750 Distributed Control Systems
N – hop neighborhood group (n - HNG) • This is used when communication topology is more important than geographical extent. • We define the members of n-HNG as the set of all nodes within ‘n’ communication hops from a specified anchor node. • As local broadcast uses hop counts rather than distances this can be used to determine scope. • Publish/subscribe group (PSG) • All entities that provide a certain service can be defined as a group. • A PSG consists of one or more consumers expressing interest in specific types of data or services and zero or more providers that produce that service. ECE/MAE 7750 Distributed Control Systems
Acquaintance group (AG) • A member belongs to this group because it has been invited into the group. • The relations between the members might be purely logical and may not depend on physical properties. • A member may quit the group without the permission of another member. • An AG might have a leader serving as the rendezvous point. • It is always better to use multiple groups for building a more powerful technique to tackle system complexity. ECE/MAE 7750 Distributed Control Systems
PIECES • PIECES stands for Programming and Interaction Environment for Collaborative Embedded Systems • This is used to help model. Simulate and deploy sensor network applications. • Programming model • Programmers divide the global state of physical phenomena into a hierarchical set of independently updateable devices with one computational entity called the principal. • To update the state principals request inputs from other principals. • Communication patterns are specified by defining collaboration groups over principals and assigning corresponding roles for each principal through ports. • Principals may move from node to node to improve performance and reduce costs of sensing and communication and computation. ECE/MAE 7750 Distributed Control Systems
Principals and Port Agents • A principal encapsulates a piece of state. These states correspond to certain aspects of the physical phenomena of interest. • The role of the principal is to update its state from time to time, a computation of the function of ‘f’. • A principal also accepts queries from other principals about its state. • To update is state a principal also accepts information from other principals. • When a principal needs information from other principals it creates a port agent and attaches them onto itself and other principals. • A port agent is also called an observer because it computes the output on the basis of the host principals state and sends it to other agents. • There is an effort to keep the execution of principals and observers separate. • Principal Groups • Principal groups can form groups. • A group gives its members a way to find other relevant principals and may attach port items to them. • A principal may belong to multiple groups • A port agent however can be associated with one group only. ECE/MAE 7750 Distributed Control Systems
A Principal and its Port Agents ECE/MAE 7750 Distributed Control Systems
An application can delegate group creation to port agents. The leader port agent can be created on a principal. The port agent can take group scope and structure parameters to find other principals. • It can then create port agents for the other principals. • Groups can be created on the basis of the principal’s collaboration needs. • A group’s structure allows its members to address other principals through their roles rather than their names. • Mobility • A principal is hosted by a specific network at any given time. • The most primitive type of a principal is a sensing principal that is attached to a sensing node. ECE/MAE 7750 Distributed Control Systems
A sensing principal maintains a piece of local state related to the physical phenomena based only on the measurement of its own sensor. • Although the principal sensor may never move there are other sensors that may move from host to host depending on information utility, performance requirements, time constraints and resource availability. • Simulator • The simulator simulates sensor network applications at a high level. • It maintains a global event queue and triggers computational entities with the help of timed events. ECE/MAE 7750 Distributed Control Systems
The simulator estimates the communication delay by instantaneously checking the sender’s and receiver’s location and computing a randomized delay corresponding to the group management protocol. ECE/MAE 7750 Distributed Control Systems
State Centric programming for Sensor – Actuator Network Systems – Jie Liu, Maurice Chu, Juan Liu, James Reich, Feng Zhao All diagrams and equations in the presentation are from the above mentioned paper. ECE/MAE 7750 Distributed Control Systems