Applying Design Patterns to Wireless Sensor Network Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering.

Slides:



Advertisements
Similar presentations
Ch:8 Design Concepts S.W Design should have following quality attribute: Functionality Usability Reliability Performance Supportability (extensibility,
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
COMPSCI 105 S Principles of Computer Science 12 Abstract Data Type.
Amirkabir University of Technology, Computer Engineering Faculty, Intelligent Systems Laboratory 1 Mediator Abbas Rasoolzadegan.
Reza Gorgan Mohammadi AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design.
Dept. of Computer Engineering, Amirkabir University of Tech. 1 Design Patterns Dr. Noorhosseini Introduction.
Design The goal is to design a modular solution, using the techniques of: Decomposition Abstraction Encapsulation In Object Oriented Programming this is.
Architectural Design Principles. Outline  Architectural level of design The design of the system in terms of components and connectors and their arrangements.
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Chapter 22 Object-Oriented Design
OBJECT ORIENTED PROGRAMMING IN C++ LECTURE
The chapter will address the following questions:
Introduction to Databases Transparencies 1. ©Pearson Education 2009 Objectives Common uses of database systems. Meaning of the term database. Meaning.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 11 Slide 1 Architectural Design.
BY VEDASHREE GOVINDA GOWDA
The Design Discipline.
Why Analysis Process Refer to earlier chapters Models what the system will do makes it easier for understanding no environment considered (hence, system.
BDP Behavioral Pattern. BDP-2 Behavioral Patters Concerned with algorithms & assignment of responsibilities Patterns of Communication between Objects.
A Behavior Object Pattern
©Ian Sommerville 2006Software Engineering, 8th edition. Chapter 12 Slide 1 Distributed Systems Architectures.
Design Patterns OOD. Course topics Design Principles UML –Class Diagrams –Sequence Diagrams Design Patterns C#,.NET (all the course examples) Design Principles.
1/19 Component Design On-demand Learning Series Software Engineering of Web Application - Principles of Good Component Design Hunan University, Software.
Protocols and the TCP/IP Suite
An Introduction to Software Architecture
CSE 303 – Software Design and Architecture
University of Utah SoCCS Lecture 61 Architecture – An Introduction CS Lecture 6 Nathan Dykman.
Case Studies on Design Patterns Design Refinements Examples.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
SAMANVITHA RAMAYANAM 18 TH FEBRUARY 2010 CPE 691 LAYERED APPLICATION.
Introduction To System Analysis and Design
© 2007 Pearson Education, Inc. Publishing as Pearson Addison-Wesley 1 Architectural Styles.
Software Design Deriving a solution which satisfies software requirements.
Ocean Observatories Initiative Data Management (DM) Subsystem Overview Michael Meisinger September 29, 2009.
©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 10Slide 1 Architectural Design l Establishing the overall structure of a software system.
Architectural Design Identifying system components and their interfaces.
Systems Analysis and Design in a Changing World, 3rd Edition
ECE450 - Software Engineering II1 ECE450 – Software Engineering II Today: Design Patterns IX Interpreter, Mediator, Template Method recap.
GRASP: Designing Objects with Responsibilities
 Repository Model  Client-Server Model  Layered Model  Modular decomposition styles  Object Models  Function Oriented Pipelining  Control Styles.
©Ian Sommerville 2004Software Engineering, 7th edition. Chapter 14 Slide 1 Object-oriented Design.
Facade Introduction. Intent Provide a unified interface to a set of interfaces in a subsystem. Facade defines a higher-level interface that makes the.
Structural Design Patterns
Unit 2 Architectural Styles and Case Studies | Website for Students | VTU NOTES | QUESTION PAPERS | NEWS | RESULTS 1.
An Architecture to Support Context-Aware Applications
Behavioural Design Patterns Quote du jour: ECE450S – Software Engineering II I have not failed. I've just found 10,000 ways that won't work. - Thomas Edison.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
© 2006 Pearson Addison-Wesley. All rights reserved2-1 Chapter 2 Principles of Programming & Software Engineering.
Dr D. Greer, Queens University Belfast )Chapter Six 1 Software Engineering Chapter Six Software Design Quality Learning Outcomes.
© 2006 Pearson Addison-Wesley. All rights reserved 2-1 Chapter 2 Principles of Programming & Software Engineering.
Architecture View Models A model is a complete, simplified description of a system from a particular perspective or viewpoint. There is no single view.
The Mediator Pattern (Behavioral) ©SoftMoore ConsultingSlide 1.
Finite State Machines (FSM) OR Finite State Automation (FSA) - are models of the behaviors of a system or a complex object, with a limited number of defined.
Layered Systems Rahul Nabar CS 551 Fall ’02. Layered or Hierarchical Designs A layered system is organized hierarchically, each layer providing service.
Semantic Web in Context Broker Architecture Presented by Harry Chen, Tim Finin, Anupan Joshi At PerCom ‘04 Summarized by Sungchan Park
Lecture On Introduction (DBMS) By- Jesmin Akhter Assistant Professor, IIT, Jahangirnagar University.
Chapter 10 Software quality. This chapter discusses n Some important properties we want our system to have, specifically correctness and maintainability.
Lecture 2 Intro. To Software Engineering and Object-Oriented Programming (1/2)
Efficient Opportunistic Sensing using Mobile Collaborative Platform MOSDEN.
Welcome to OBJECT ORIENTED PROGRAMMING Prepared By Prepared By : VINAY ALEXANDER PGT(CS) KV jhagrakhand.
Software Hardware refers to the physical devices of a computer system.
Computational Thinking, Problem-solving and Programming: General Principals IB Computer Science.
Mediator Design Pattern
Grid Computing.
Part 3 Design What does design mean in different fields?
Mediator Design Pattern (Behavioral)
Introduction to Databases Transparencies
Software Architecture
Software models - Software Architecture Design Patterns
What Is Good Software(Program)?
Presentation transcript:

Applying Design Patterns to Wireless Sensor Network Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

References [1]S.O. Amin and C.S. Hong, “On Design Patterns for Sensor Networks,” The 27TH KIPS Spring Conference, [2]K. Tei, Y. Fukazawa, and S. Honiden, “Applying design patterns to wireless sensor network programming,” Computer Communications and Networks, ICCCN Proceedings of 16th International Conference on, 2007, pp. 1099–1104. Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

sensor representation ‘Object’ of OOP sensing the environment and responding it ‘methods’ of an object Sensor states ‘attributes’ of an OOP object Modeling sensors as an OOP objects Enhancement in the management of sensor networks good sensor network design Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall 2010 Apply Design Patterns of other Domains in Sensor Networks 3

Design patterns for Sensor Networks: Mediator Façade Chain of responsibility Watchdog Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall 2010 Apply Design Patterns of other Domains in Sensor Networks 4

Mediator in WSN Intent Encapsulates objects interactions Promotes loose coupling Lets you vary their interaction independently Decouples many peers Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Mediator in WSN Motivation Multi agent system Agent decomposition to enhance reusability Distribution of behavior results in many interconnections Solution is encapsulating collective behavior in a separate mediator module Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Mediator in WSN Motivation (example) in smart ubiquitous environment, mediator contains the control logic adding a new smart appliance requires only modification of the mediator decouples all the appliances within the system from each other Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Mediator in WSN Structure Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Mediator in WSN Applicability When a set of modules communicate in well-defined but complex ways When it is difficult to reuse a module because it refers to and communicates with many other modules. Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Mediator in WSN Consequences vary and reuse Colleague and Mediator independently Simplifies the maintenance of the system New functionality can be added at mediator without affecting colleagues Simplifies the communication protocol Mediator can become overly complex Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Few more Patterns at a glance Façade makes subsystem easier to use Provides simplified view to its users For example in smart ubiquitous environment, as soon as house owner puts his keychain on Smart key stand many related work such as turning on the lights, switching on the answering machine and so on, can be started as a sub layer. Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Chain of responsibility User wants to detect some activity If one sensor has not detected any action, it can ask the next sensor Each sensor that detect the activity, it can respond a vehicle may contain multiple sensors that can accomplish a given task Provides a way for the sensor to be selectable Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall 2010 Few more Patterns at a glance 12

K. Tei, Y. Fukazawa, and S. Honiden, “Applying design patterns to wireless sensor network programming,” Computer Communications and Networks, ICCCN Proceedings of 16th International Conference on, 2007, pp. 1099–1104. Applying Design Patterns to Wireless Sensor Network Programming Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Applying Design Patterns to Wireless Sensor Network Programming Middleware for WSN abstracts a network as an entity and hides programming difficulties from programmers. Step 1:discuss major middleware languages and compare the capabilities of their primitives. Step 2:extract design patterns from the representative middlewares to cover the missing capabilities identified in the comparison. Step 3:Apply this extract design patterns. Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Applying Design Patterns to Wireless Sensor Network Programming Various middlewares have been proposed by reseachers in the WSN community. Each middleware has different advantages and disadvantages in terms of : energy efficiency robustness number of tasks which a sensor node can hold simultaneously. Due to the diversity, a WSN administrator can select a middleware best suited for his or her the WSN. Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Applying Design Patterns to Wireless Sensor Network Programming MIDDLEWARES FOR WSN TinyDB EnviroTrack Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Applying Design Patterns to Wireless Sensor Network Programming The three kinds of tasks are : 1.Nest 2.Offline Delivery 3.Tracking Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Applying Design Patterns to Wireless Sensor Network Programming Type of Pattern: In-network Result Sharing Pattern Out-network Result Sharing Pattern In-network Data Repository Pattern In-network Tracking Pattern 18 Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall 2010 Nest Task Offline Delivery Task Tracking Task In-network Result Sharing Pattern

Applying Design Patterns to Wireless Sensor Network Programming Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall 2010 Extracting Design Patterns A pattern consists of the six essential elements: 19

In-network Result Sharing Pattern Design Patterns for Nest name it the In-network Result Sharing Pattern. Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

In-network Result Sharing Pattern Tasks can share their results through the in-network data repository The sub-tasks store their results in the data repository The main task loads the results from it to execute its own task This pattern uses an in-network data repository, which is maintained at each sensor node Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

In-network Result Sharing Pattern Sequence of the In-network Result Sharing Pattern Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

In-network Result Sharing Pattern Related pattern The In-network Result Sharing Pattern is strongly related to the In- network Data Repository Pattern A variation of the In-network Result Sharing Pattern can be conceived, i.e., the Out-network Result Sharing Pattern. Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Applying Design Patterns Applying the In-network Result Sharing Pattern Consider the case that a main task uses a result of a sub-task. The sub-task is described as follows. Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Applying Design Patterns Informally, the main task is described as follows. Modify the sub-task to store its result in a buffer as follows. Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall

Applying Design Patterns Modify the main task to retrieve a result of the sub-task from the buffer, as follows. The main task is formal, and can use the result of the sub-task. With this conversion, Nest can be described in TinyDB. Sajjad Soroush AmirKabir University of Technology, Department of Computer Engineering & Information Technology Advanced design pattern Course Fall