Self-Organising Design Patterns Giovanna Di Marzo Serugendo Jose-Luis Fernandez-Marquez University of Geneva

Slides:



Advertisements
Similar presentations
Software Architecture Design Chapter 12 Part of Design Analysis Designing Concurrent, Distributed, and Real-Time Applications with UML Hassan Gomaa (2001)
Advertisements

©Ian Sommerville 2000 Software Engineering, 6th edition. Chapter 12Slide 1 Software Design l Objectives To explain how a software design may be represented.
Chapter 7 Structuring System Process Requirements
Chapter 7 – Object-Oriented Design
A Brief Introduction. Acknowledgements  The material in this tutorial is based in part on: Concurrency: State Models & Java Programming, by Jeff Magee.
KAIST CS780 Topics in Interactive Computer Graphics : Crowd Simulation A Task Definition Language for Virtual Agents WSCG’03 Spyros Vosinakis, Themis Panayiotopoulos.
Decentralised Structural Reorganisation in Agent Organisations Ramachandra Kota.
Agent Mediated Grid Services in e-Learning Chun Yan, Miao School of Computer Engineering Nanyang Technological University (NTU) Singapore April,
University of Jyväskylä An Observation Framework for Multi-Agent Systems Joonas Kesäniemi, Artem Katasonov * and Vagan Terziyan University of Jyväskylä,
Self-Organisation in SECOAS Sensor Network UCL SECOAS team: Dr. Lionel Sacks, Dr. Matt Britton Toks Adebutu, Aghileh Marbini, Venus Shum, Ibiso Wokoma.
© Copyright Eliyahu Brutman Programming Techniques Course.
1 FM Overview of Adaptation. 2 FM RAPIDware: Component-Based Design of Adaptive and Dependable Middleware Project Investigators: Philip McKinley, Kurt.
Community Manager A Dynamic Collaboration Solution on Heterogeneous Environment Hyeonsook Kim  2006 CUS. All rights reserved.
Architectural Design Establishing the overall structure of a software system Objectives To introduce architectural design and to discuss its importance.
Software Architecture. Agenda " Why architect? " What is architecture? " What does an architect do? " What principles guide the process of architecting?
Design, goal of design, design process in SE context, Process of design – Quality guidelines and attributes Evolution of software design process – Procedural,
Chapter 7 Structuring System Process Requirements
Architectural Design.
An Intelligent Broker Architecture for Context-Aware Systems A PhD. Dissertation Proposal in Computer Science at the University of Maryland Baltimore County.
Agent Based Modeling and Simulation
Chapter 13 Starting Design: Logical Architecture and UML Package Diagrams.
SensIT PI Meeting, January 15-17, Self-Organizing Sensor Networks: Efficient Distributed Mechanisms Alvin S. Lim Computer Science and Software Engineering.
Robot Autonomous Perception Model For Internet-Based Intelligent Robotic System By Sriram Sunnam.
A Lightweight Platform for Integration of Resource Limited Devices into Pervasive Grids Stavros Isaiadis and Vladimir Getov University of Westminster
The Data Grid: Towards an Architecture for the Distributed Management and Analysis of Large Scientific Dataset Caitlin Minteer & Kelly Clynes.
EGrid Software Packages Overview. EGrid Introduction Egrid Introduction : A description of the main software packages EGrid Inside : A detailed description.
SOFTWARE DESIGN (SWD) Instructor: Dr. Hany H. Ammar
Composing Adaptive Software Authors Philip K. McKinley, Seyed Masoud Sadjadi, Eric P. Kasten, Betty H.C. Cheng Presented by Ana Rodriguez June 21, 2006.
Reviewing Recent ICSE Proceedings For:.  Defining and Continuous Checking of Structural Program Dependencies  Automatic Inference of Structural Changes.
Odyssey A Reuse Environment based on Domain Models Prepared By: Mahmud Gabareen Eliad Cohen.
SOFTWARE DESIGN.
A Cluster-based Approach for Data Handling in Self- organising Sensor Networks UCL SECOAS team: Dr. Lionel Sacks, Dr. Matt Britton Toks Adebutu, Aghileh.
The roots of innovation Future and Emerging Technologies (FET) Future and Emerging Technologies (FET) The roots of innovation Proactive initiative on:
Chapter 8 Object Design Reuse and Patterns. Object Design Object design is the process of adding details to the requirements analysis and making implementation.
A Context Model based on Ontological Languages: a Proposal for Information Visualization School of Informatics Castilla-La Mancha University Ramón Hervás.
Design Patterns Introduction General and reusable solutions to common problems in software design SoftUni Team Software University
Communication Support for Location- Centric Collaborative Signal Processing in Sensor Networks Parmesh Ramanathan University of Wisconsin, Madison Acknowledgements:K.-C.
1 1. Representing and Parameterizing Agent Behaviors Jan Allbeck and Norm Badler 연세대학교 컴퓨터과학과 로봇 공학 특강 학기 유 지 오.
Wechsler Scales. Security and Terms Test security Test security Terms Terms Floor Floor Ceiling Ceiling Basal and ceiling rules Basal and ceiling rules.
MODEL-BASED SOFTWARE ARCHITECTURES.  Models of software are used in an increasing number of projects to handle the complexity of application domains.
MDD approach for the Design of Context-Aware Applications.
Distributed Models for Decision Support Jose Cuena & Sascha Ossowski Pesented by: Gal Moshitch & Rica Gonen.
Paintable Computer Ting Yan CS 851 Bio-Inspired Computing Presentation March 25, 2003.
Architectural Design Introduction Design has been described as a multistep process in which representations of data and program structure,
Requirements Analysis
Resilience through Dynamic Reconfigurations in Agent Systems Ilya Lopatkin Newcastle University, School of Computing Science.
Andrey Karaulov, Alexander Strabykin Institute for System Programming Russian Academy of Sciences SYRCoSE: Spring Young Researchers Colloquium on Software.
OOD OO Design. OOD-2 OO Development Requirements Use case analysis OO Analysis –Models from the domain and application OO Design –Mapping of model.
From Use Cases to Implementation 1. Structural and Behavioral Aspects of Collaborations  Two aspects of Collaborations Structural – specifies the static.
© 2005 by Prentice Hall Chapter 7 Structuring System Process Requirements Modern Systems Analysis and Design Fourth Edition Jeffrey A. Hoffer Joey F. George.
+ Informatics 122 Software Design II Lecture 13 Emily Navarro Duplication of course material for any commercial purpose without the explicit written permission.
Agent Group Università di Modena e Reggio Emilia Theory and Practice of Field- based Motion Coordination in Multi-Agent Systems Marco Mamei, Franco Zambonelli.
From Use Cases to Implementation 1. Mapping Requirements Directly to Design and Code  For many, if not most, of our requirements it is relatively easy.
Done by Fazlun Satya Saradhi. INTRODUCTION The main concept is to use different types of agent models which would help create a better dynamic and adaptive.
SAPERE Toulouse January 2014Giovanna Di Marzo Serugendo 1.
Review of last class Software Engineering Modeling Problem Solving
Software Design Principles
Chapter 5:Design Patterns
Introduction to Design Patterns
Walter Binder Giovanna Di Marzo Serugendo Jarle Hulaas
Software Quality Engineering
Enterprise Data Model Enterprise Architecture approach Insights on application for through-life collaboration 2018 – E. Jesson.
CIS 375 Bruce R. Maxim UM-Dearborn
Service-centric Software Engineering
Training for developers of X-Road interfaces
CS 8532: Advanced Software Engineering
Software Analysis.
Design Yaodong Bi.
COMPONENT – BASED SOFTWARE ENGINEERING MODULE 2 – SECOND SEMESTER MKHIZE, BSC HONS COMPUTER SCIENCES, DIP IT, ICDL.
From Use Cases to Implementation
Presentation transcript:

Self-Organising Design Patterns Giovanna Di Marzo Serugendo Jose-Luis Fernandez-Marquez University of Geneva Toulouse January 2014Giovanna Di Marzo Serugendo 1

Outline  Inspiration / Motivation  Self-organising Mechanisms as Design Patterns  SAPERE / Separation of Concerns  Case study: Crowd Steering Giovanna Di Marzo Serugendo 2 Toulouse January 2014

SAPERE Video Toulouse January 2014Giovanna Di Marzo Serugendo 3

Spatial Structures and Services Giovanna Di Marzo Serugendo 4 SASO 2013

Self-organising services AWASS Summer School 13/06/2012 Giovanna Di Marzo Serugendo 5 Self-organising mechanisms … provided as services Spreading Gradient Chemotaxis Crowd Steering

Motivation 6  Engineering self-organising applications and services in pervasive system, such that: –(Re-)use of code, easing the design and implementation of bio-inspired applications. –Set of bio-inspired mechanisms provided as low-level services  Creation of spatial structures through dedicated services  Used as a basis to build applications or high level services. –Low-level services are requested on demand by applications or high level services –Low-level services are embedded in a middleware [FMADMSC11, FMADMS+11, FMDMSM+12] SASO 2013

Motivation  Engineering of complex systems –Environment –Software Agents / Applications (autonomous entities) –Self-* Mechanisms / Services –Middleware infrastructures  Self-* mechanisms (bio-inspired) –Expressed under the form of design patterns –Composition / inter-relations and boundaries among mechanisms EASE, 27/04/ SASO 2013

Self-organising services Giovanna Di Marzo Serugendo 8 Spreading Gradient Chemotaxis Crowd Steering Self-organising mechanisms … provided as services

Spatial Structures and Services Giovanna Di Marzo Serugendo 9 SASO 2013

Motivation 10  Engineering self-organising applications and services in pervasive system, such that: –(Re-)use of code, easing the design and implementation of bio-inspired applications. –Set of bio-inspired mechanisms provided as low-level services  Creation of spatial structures through dedicated services  Used as a basis to build applications or high level services. –Low-level services are requested on demand by applications or high level services –Low-level services are embedded in a middleware [FMADMSC11, FMADMS+11, FMDMSM+12] SASO 2013

Motivation  Engineering of complex systems –Environment –Software Agents / Applications (autonomous entities) –Self-* Mechanisms / Services –Middleware infrastructures  Self-* mechanisms (bio-inspired) –Expressed under the form of design patterns –Composition / inter-relations and boundaries among mechanisms EASE, 27/04/ SASO 2013

Outline  Inspiration / Motivation  Self-organising Mechanisms as Design Patterns  SAPERE / Separation of Concerns  Case study: Crowd Steering Giovanna Di Marzo Serugendo 12 Toulouse January 2014

Self-organising mechanisms expressed as design patterns Toulouse January 2014Giovanna Di Marzo Serugendo 13

Self-Organising Design Patterns Giovanna Di Marzo Serugendo 14 Toulouse January 2014

Design Patterns  Design Patterns’ Catalogue –Self-organising mechanisms recurrent and frequently involved in more complex mechanisms –Identification of:  Inter-relations between mechanisms  Boundaries of each mechanism –Classification into three levels [FMDMSM+12] Giovanna Di Marzo Serugendo 15 Toulouse January 2014

Self-Organising Design Patterns  Description –Abstract Transition Rule –Sequence Diagram, Implementation details, Explanations Giovanna Di Marzo Serugendo 16 Toulouse January 2014

Spreading Giovanna Di Marzo Serugendo 17 Toulouse January 2014

Spreading  Problem: –in systems, where agents perform only local interactions, agents’ reasoning suffers from the lack of knowledge about the global system.  Solution: –a copy of the information (received or held by an agent) is sent to neighbours and propagated over the network from one node to another. Information spreads progressively over the system and reduces the lack of knowledge of the agents while keeping the constraint of the local interaction.  Entities – Dynamics – Environment  Usage –Information dissemination Giovanna Di Marzo Serugendo 18 Toulouse January 2014

Spreading  Implementation Giovanna Di Marzo Serugendo 19 Toulouse January 2014

Smart Parking Toulouse January 2014Giovanna Di Marzo Serugendo 20

Aggregation Giovanna Di Marzo Serugendo 21 Toulouse January 2014

 Problem: –Excess of information produces overloads. Information must be distributively processed in order to reduce the amount of information and to obtain meaningful information.  Solution –Aggregation consists in locally applying a fusion operator to synthesise macro information (filtering, merging, aggregating, or transforming)  Entities – Dynamics – Environment  Usage –Aggregation of pheromones, fusion of information, context-awareness Aggregation Giovanna Di Marzo Serugendo 22 Toulouse January 2014

Aggregation  Implementation Giovanna Di Marzo Serugendo 23 Toulouse January 2014

Measure Average Pollution / Highest Pollution Point Toulouse January 2014Giovanna Di Marzo Serugendo 24

Measure density of people Toulouse January 2014Giovanna Di Marzo Serugendo 25

Evaporation Giovanna Di Marzo Serugendo 26 Toulouse January 2014

Evaporation  Problem: –Outdated information cannot be detected and it needs to be removed, or its detection involves a cost that needs to be avoided. Agent decisions rely on the freshness of the information presented in the system, enabling correct responses to dynamic environments.  Solution –Evaporation is a mechanism that periodically reduces the relevance of information. Thus, recent information becomes more relevant than older information.  Entities – Dynamics – Environment  Usage –Digital pheromone, context-awareness (ageing information) Giovanna Di Marzo Serugendo 27 Toulouse January 2014

Evaporation  Implementation Giovanna Di Marzo Serugendo 28 Toulouse January 2014

Ice on Road / Potholes Toulouse January 2014Giovanna Di Marzo Serugendo 29 Remove information when no longer useful

Repulsion Giovanna Di Marzo Serugendo 30 Toulouse January 2014

 Problem: –Agents’ movements have to be coordinated in a decentralised manner in order to achieve a uniform distribution and to avoid collisions among them  Solution –The Repulsion Pattern creates a repulsion vector that guides agents to move from regions with high concentrations of agents to regions with lower concentrations. Thus, after few iterations agents reach a more uniform distribution in the environment  Entities – Dynamics – Environment  Usage –Shape formation Repulsion Giovanna Di Marzo Serugendo 31 Toulouse January 2014

Repulsion  Implementation Giovanna Di Marzo Serugendo 32 Toulouse January 2014

Giovanna Di Marzo Serugendo 33 Spatial Memory Service Special Gorilla Exhibition at 3pm Time: 2.30pm-3pm Accessibility: Public 80% Area: Gorilla Kingdom London Zoo Toulouse January 2014

Giovanna Di Marzo Serugendo 34 Spatial Memory Service Repulsion Information moves to node closest to repulsion vector Toulouse January 2014

Spatial Memory Service Toulouse January 2014Giovanna Di Marzo Serugendo 35

Self-Organising Design Patterns Giovanna Di Marzo Serugendo 36 Toulouse January 2014

Gossip Giovanna Di Marzo Serugendo 37 Toulouse January 2014

Gossip  Problem: –in large-scale systems, agents need to reach an agreement, shared among all agents, with only local perception and in a decentralised way  Solution –information spreads to neighbours, where it is aggregated with local information. Aggregates are spread further and their value progressively reaches the agreement  Entities – Dynamics – Environment  Usage –Computation of sums, averages Giovanna Di Marzo Serugendo 38 Toulouse January 2014

Gossip  Implementation: Giovanna Di Marzo Serugendo 39 Toulouse January 2014

Giovanna Di Marzo Serugendo 40 Reaching an agreement / Voting best artist