SlideShare uma empresa Scribd logo
1 de 63
Baixar para ler offline
Self-aware Pervasive Service Ecosystems




      From Self-Organising Mechanisms to
                Design Patterns

                 Giovanna Di Marzo Serugendo
                      University of Geneva

                      Giovanna.Dimarzo@unige.ch



AWASS Summer School
                      1       Giovanna Di Marzo Serugendo
13/06/2012
Outline



  Motivation: Spatial Structures and Services
  Self-Organising Mechanisms and Design Patterns
  Computational Model

  Case Study: Crowd Steering




AWASS Summer School
                      2   Giovanna Di Marzo Serugendo
13/06/2012
Spatial Structures and Services




AWASS Summer School
                        3   Giovanna Di Marzo Serugendo
13/06/2012
Motivation
  The goal of this work is to propose an execution
   model for engineering self-organising application in
   pervasive system. The execution model should:
   –  Allow the (re-)use of code, easing the design and
      implementation of bio-inspired applications.
   –  Provide a set of bio-inspired mechanisms as low-level
      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 the middleware using
      existing technologies.


                     4
Motivation

  Engineered Systems
   –    Swarms of robots, unmanned vehicles
   –    Information dissemination
   –    P2P systems / Overlay networks
   –    Immune computer
   –    Trust-based access control
   –    Grid computing




                       5             EASE, 27/04/2011
Motivation

  Engineering of complex systems
  –  Environment
  –  Software Agents / Services (autonomous entities)
  –  Self-* Mechanisms
  –  Middleware infrastructures


  Self-* mechanisms (bio-inspired)
  –  Expressed under the form of design patterns
  –  Identify limits of each pattern / mechanism

                6            EASE, 27/04/2011
Motivation

  Spatial structures for pervasive systems
    –  Self-organising / bio-inspired mechanisms
           Decentralisation, robust, resilient, adapt to environmental changes
           Complex behaviour with relatively simple rules


  Design Patterns’ Catalogue
    –  Mechanisms recurrent and frequently involved in more complex mechanisms
    –  Identification of:
           Inter-relations between mechanisms
           Boundaries of each mechanism
    –  Classification into three levels

  Building Blocks for Spatial Structures
      Basis for Self-Aware Services and Self-Aware Applications
      Basis for composition of Self-Aware Services


[FMADMSC11, FMADMS+11, FMDMSM+12]


AWASS Summer School
                                 7         Giovanna Di Marzo Serugendo
13/06/2012
Computational Model


                                                    Software Agents


           Organisms                            Host Agents, memory, sensors, actuators...


                                                       Infrastructure
                                                         Infrastructural Agents
          Environment


                                                       Environment


        (a) Biological Model                 (b) Computational Model

AWASS Summer School
                        8       Giovanna Di Marzo Serugendo
13/06/2012
Computational Model




AWASS Summer School
                      9    Giovanna Di Marzo Serugendo
13/06/2012
Computational Model

  Software agents
   –  Active autonomous entities (services, information, etc.)
  Host
   –  Computing device hosting agent execution
         E.g. sensors, PDAs, computers, …
  Environmental agents
   –  Autonomous entity working on behalf of infrastructure
         E.g. evaporating pheromone, updating gradients
  Environment
   –  Anything else on which agents have no control
         E.g. user switching device off, temperature, humidity, etc.




     10                               EASE, 27/04/2011
Outline



  Motivation: Spatial Structures and Services
  Self-Organising Mechanisms and Design Patterns
  Computational Model




AWASS Summer School
                      11   Giovanna Di Marzo Serugendo
13/06/2012
Self-Organising Design Patterns

  Description
    –  Abstract Transition Rule


    –  Sequence Diagram, Implementation details, Explanations




AWASS Summer School
                          12      Giovanna Di Marzo Serugendo
13/06/2012
Self-Organising Design Patterns

                  l
       Pa -Leve
               ns
                                    Ant
          tter

                      Flocking               Quorum Sensing   Chemotaxis     Morphogenesis
           h



                                  Foraging
       Hig
        tter d
      Pa pose
            ns




                             Digital Pheromone         Gradients           Gossip
         m
      Co

              ns
       Pa sic
         tter




                      Repulsion          Evaporation      Aggregation         Spreading
         Ba




AWASS Summer School
                                    13        Giovanna Di Marzo Serugendo
13/06/2012
Spreading




http://ergodd.zoo.ox.ac.uk/eurasia/Eurasian%20Street%20Web/Studies/animations/Sim_30_608_393_smoothed.gif
AWASS Summer School
                                     14       Giovanna Di Marzo Serugendo
13/06/2012
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




 AWASS Summer School
                           15     Giovanna Di Marzo Serugendo
 13/06/2012
Spreading

  Implementation




AWASS Summer School
                      16   Giovanna Di Marzo Serugendo
13/06/2012
Aggregation




AWASS Summer School
                      17   Giovanna Di Marzo Serugendo
13/06/2012
Aggregation

  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




 AWASS Summer School
                            18      Giovanna Di Marzo Serugendo
 13/06/2012
Aggregation

  Implementation

                                              Infrastuctural
                                                 Agent or
                                Host
                                                  Agent
                                     data_req()
                                      send_data()

                                                         Apply
                                                       Aggregation
                                   send_data_aggr()


                                     Store
                                   Aggregated
                                      Data




AWASS Summer School
                      19   Giovanna Di Marzo Serugendo
13/06/2012
Evaporation




AWASS Summer School
                      20   Giovanna Di Marzo Serugendo
13/06/2012
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




 AWASS Summer School
                            21      Giovanna Di Marzo Serugendo
 13/06/2012
Evaporation

  Implementation

               Start




               rev?


          No       yes

           Rel(Inf) > 0 ?


      No                 Yes


   Stop                     Apply Evap.




AWASS Summer School
                                          22   Giovanna Di Marzo Serugendo
13/06/2012
Repulsion




AWASS Summer School
                      23   Giovanna Di Marzo Serugendo
13/06/2012
Repulsion

  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



 AWASS Summer School
                            24      Giovanna Di Marzo Serugendo
 13/06/2012
Repulsion

  Implementation                      Agent                      Host                  Neighbouring
                                                                                           Hosts
                 Start
                                           SendPositionRequest()
                                                                         SendPositionRequest()
           SendPositionReque
            stToNeighbours()
                                                                           SendPosition()
                                                SendPosition()
               Received
               Positions?                  CalculateRepulsion
                                                Vector()
      No
                         yes                   CalculateDesired
               Calculate                          Position()
              Repulsion()
                                            MoveToHostClosest
                                             ToNewPosition()             MoveToHostClosest
            CalculateDesired                                              ToNewPosition()
               Position()



           MoveToHostClosest
            ToNewPosition()



AWASS Summer School
                               25   Giovanna Di Marzo Serugendo
13/06/2012
Self-Organising Design Patterns

                  l
       Pa -Leve
               ns
                                    Ant
          tter

                      Flocking               Quorum Sensing   Chemotaxis     Morphogenesis
           h



                                  Foraging
       Hig
        tter d
      Pa pose
            ns




                             Digital Pheromone         Gradients           Gossip
         m
      Co

              ns
       Pa sic
         tter




                      Repulsion          Evaporation      Aggregation         Spreading
         Ba




AWASS Summer School
                                    26        Giovanna Di Marzo Serugendo
13/06/2012
Gossip




AWASS Summer School
                      27   Giovanna Di Marzo Serugendo
13/06/2012
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




 AWASS Summer School
                           28     Giovanna Di Marzo Serugendo
 13/06/2012
Gossip

  Implementation:
                          Start                     Agent or                       Neighbour
                                                                      Host
                                                  Infras. Agent                      Hosts

               no
                          input                                              send(inf)
                         events?
                                                           send(inf)
                              yes

                       Same value                         apply aggr.
              yes
                       broadcasted                         operator
                         before?

            Stop             no                           send(aggr)
                         Apply                                           send(aggr)
                       aggregation
                        operator

                        Broadcast
                       aggregated
                       Information



 AWASS Summer School
                                   29   Giovanna Di Marzo Serugendo
 13/06/2012
Gradient




AWASS Summer School
                      30   Giovanna Di Marzo Serugendo
13/06/2012
Gradient

  Problem:
    –  agents belonging to large systems suffer from lack of global knowledge to estimate the
       consequences of their actions or the actions performed by other agents beyond their
       communication range
  Solution
    –  information spreads from the location it is initially deposited and aggregates when it meets other
       information. During spreading, additional information about the sender’s distance and direction is
       provided: either through a distance value (incremented or decremented); or by modifying the
       information to represent its concentration (lower concentration when information is further away).
  Entities – Dynamics - Environment




 AWASS Summer School
                                  31       Giovanna Di Marzo Serugendo
 13/06/2012
Gradient

  Implementation:
               Start

                                                                  Neighbour     Agent or                         Neighbour
                              Agent                 Host                                           Host
                                                                    Hosts     Infras. Agent                        Hosts
               input
     No                                                                                                   send(inf,d)
              events?                 send(inf,0)                                        send(inf,d)
                    yes                                    send(inf,0)
                                                                                       check inf and
                                                                                        Aggregate.
            Distance is
    no
            lower than
            local one?                                                                send(inf, d+1)
                                                                                                       send(inf, d+1)
  Stop
                    yes
          Aggregated inf.
           (The one with
          lower distance
            stays stored)


              Broadcast
          inf. incrementing
                counter


 AWASS Summer School
                              32           Giovanna Di Marzo Serugendo
 13/06/2012
Digital Pheromone




AWASS Summer School
                      33   Giovanna Di Marzo Serugendo
13/06/2012
Digital Pheromone

  Problem:
    –  coordination of agents in large scale environments using indirect
       communication
  Solution
    –  digital pheromone provides a way to coordinate agent’s behaviour using
       indirect communication in high dynamic environments. Digital pheromones
       create gradients that spread over the environment, carrying information
       about their distance and direction. Thus, agents can perceive pheromones
       from the distance and increase the knowledge about the system. Moreover,
       as time goes by digital pheromones evaporate, providing adaptation to
       environmental changes




 AWASS Summer School
                           34      Giovanna Di Marzo Serugendo
 13/06/2012
Digital Pheromone

  Entities – Dynamics – Environment




 AWASS Summer School
                       35    Giovanna Di Marzo Serugendo
 13/06/2012
Self-Organising Design Patterns

                  l
       Pa -Leve
               ns
                                    Ant
          tter

                      Flocking               Quorum Sensing   Chemotaxis     Morphogenesis
           h



                                  Foraging
       Hig
        tter d
      Pa pose
            ns




                             Digital Pheromone         Gradients           Gossip
         m
      Co

              ns
       Pa sic
         tter




                      Repulsion          Evaporation      Aggregation         Spreading
         Ba




AWASS Summer School
                                    36        Giovanna Di Marzo Serugendo
13/06/2012
Ant Foraging




AWASS Summer School
                      37   Giovanna Di Marzo Serugendo
13/06/2012
Ant Foraging

  Problem:
    –  large scale optimisation problems that can be transformed into the
       problem of finding the shortest path on a weighted graph.
  Solution
    –  the Ant Foraging Pattern provides rules to explore the environment
       in a decentralised manner and to exploit resources
  Entities – Dynamics - Environment




 AWASS Summer School
                        38     Giovanna Di Marzo Serugendo
 13/06/2012
Ant Foraging

  Implementation




 AWASS Summer School
                       39   Giovanna Di Marzo Serugendo
 13/06/2012
Morphogenesis




AWASS Summer School
                      40   Giovanna Di Marzo Serugendo
13/06/2012
Morphogenesis

  Problem:
     –  in large-scale decentralised systems, agents decide on their roles or plan
        their activities based on their spatial position
    Solution
     –  specific agents spread morphogenetic gradients. Agents assess their
        positions in the system by computing their relative distance to the
        morphogenetic gradients sources
  Entities – Dynamics - Environment




 AWASS Summer School
                            41      Giovanna Di Marzo Serugendo
 13/06/2012
Morphogenesis

  Implementation:
                                                                                 Neighbour
                   Start                    Agent                  Host
                                                                                   Hosts
                                                                          GradInf()

                                                      GradInf()
                Gradients
                Received?                           Estimate
                                                relative position
       No
                        yes                          Change
                                                    Agent's role
             Estimate relative
            position based on
            received gradients



               Change role
             according to the
             relative position


 AWASS Summer School
                                 42   Giovanna Di Marzo Serugendo
 13/06/2012
Chemotaxis




AWASS Summer School
                      43   Giovanna Di Marzo Serugendo
13/06/2012
Chemotaxis

  Problem:
    –  decentralised motion coordination aiming at detecting sources or
       boundaries of events
  Solution
    –  agents locally sense gradient information and follow the gradient in a
       specified direction (i.e. follow higher gradient values, lower gradient values,
       or equipotential lines of gradients).
  Entities – Dynamics - Environment




 AWASS Summer School
                            44      Giovanna Di Marzo Serugendo
 13/06/2012
Chemotaxis

  Implementation
                                                                                 Neighbour
                                                Agent             Host
                  Start                                                            Hosts

                                                   GradRequest()

            Send concetration                                         GradRequest()
               request to n
            neighbouring hosts

                          yes                                            Send_grad()
                                                        Send_grad()

  No          Inf. Received?                        Choose host
                                                     with highest
                                                    concentration
                     yes                            MoveToHost(h)     MoveToHost(h)

           Move to host with
           highest gradient




AWASS Summer School
                                 45   Giovanna Di Marzo Serugendo
13/06/2012
Quorum Sensing




AWASS Summer School
                      46   Giovanna Di Marzo Serugendo
13/06/2012
Quorum Sensing

  Problem:
    –  collective decisions in large-scale decentralised systems, requiring a
       threshold number of agents or estimation of the density of agents in a
       system, using only local interactions.
  Solution
    –  the Quorum Sensing Pattern allows to take collective decisions through an
       estimation by individual agents of the agents’ density (assessing the
       number of other agents they interact with) and by determination of a
       threshold number of agents necessary to take the decision
  Entities – Dynamics – Environment
    –  Gradient, Morphogenesis




 AWASS Summer School
                           47      Giovanna Di Marzo Serugendo
 13/06/2012
Quorum Sensing

  Implementation                                                              Neighbour
                                             Agent               Host
                                                                                 Hosts
                Start                                                   GradInf()

                                                     GradInf()

             Gradients
             Receved?
                                                 if Grad > thres
                                                    trigger task
   No
                        yes     No


             Gradient's
        concentration higher
          than threshold?



                        yes


        Trigger collaborative
                task




AWASS Summer School
                                     48   Giovanna Di Marzo Serugendo
13/06/2012
Flocking




AWASS Summer School
                      49   Giovanna Di Marzo Serugendo
13/06/2012
Flocking

  Problem:
    –  Dynamic motion coordination and pattern formation of swarms
  Solution
    –  The Flocking Pattern provides a set of rules for moving groups of agents
       over the environment while keeping the formation and interconnections
       between them
  Entities – Dynamics – Environment
    –    Cohesion (group)
    –    Separation
    –    Alignment (velocity, direction)
    –    Group objective (target)




 AWASS Summer School
                                 50        Giovanna Di Marzo Serugendo
 13/06/2012
Outline



  Motivation: Spatial Structures and Services
  Self-Organising Mechanisms and Design Patterns
  Computational Model




AWASS Summer School
                      51   Giovanna Di Marzo Serugendo
13/06/2012
BIO-CORE

Core Services




                52
BIO-CORE


BIO-CORE is an execution model based on:
    shared space technology, and rules.

BIO-CORE implements a set of:
    •  low level core services, providing basic self-organising
      mechanisms (e.g. Aggregation, Spreading, Evaporation, Gradients)
    •  requested on demand by applications or high level services.




                       53
BIO-CORE

          Structure
BIO-CORE is composed of:


Core Data space: Shared space located in nodes,
where data reside.

External Interface: Provides a set of primitives to
allow applications and high level services to inject,
retrieve or remove data.

Engine: The engine processes the data located in the
Core Data Space and executes rules according to the
data properties.




                                 54
Execution Model and Core Services

  BIO-CORE
    –  Execution model for Core mechanisms (ready to use) as Core Services
  Decoupling
      Functionality of Self-Aware Applications from Environmental Tasks
          Spatial structure maintenance (e.g. Gradient spreading, Evaporation, …)
      Mechanisms for Spatial Structure made available to applications as Core
       Services
  Reuse of code
      Same Core Service used by many Self-Aware Applications or Services
      Encapsulation of specific mechanisms (one at a time)


[FMDMSM11]


AWASS Summer School
                           55      Giovanna Di Marzo Serugendo
13/06/2012
Execution Model and Core Services

  Core Services




AWASS Summer School
                      56   Giovanna Di Marzo Serugendo
13/06/2012
Execution Model and Core Services


  Spreading Service

  Evaporation Service


                                                                                             node:Node
                   node:Node

                                                                              agent: Agent          space:LSA space
    agent: Agent          space:LSA space         neighbouringNodes:Node



                                                                                     Inject(<id, EVAP, rel, A>)
           inject(<id, SPREAD, A>)

                                                                                                                  <id, EVAP, rel*fevap, A>
                                       <id, A>

                                     bcst(<id, SPREAD,A>)
                                                                                                                  <id, EVAP, rel*(fevap)2, A>




                                                                                                                  …
AWASS Summer School
                                                  57             Giovanna Di Marzo Serugendo
13/06/2012
Execution Model and Core Services


  Composition of Core Services
        –  Design time composition, late binding


                                                                                                            node:Node
                     node:Node

                                                               neighbouringNodes:                                                                      neighbouringNodes:
                              space:LSA space                                           agent: Agent                 space:LSA space
 agent: Agent                                                  Node                                                                                    Node



      inject(<id, EVAP, SPREAD, rel, A>)                                                     inject(<id, EVAP, SPREAD, rel, A>)


                                               <id, EVAP, rel, A>                                                                     <id, EVAP, SPREAD, rel*fevap, A>

                                           bcst(<id, EVAP, SPREAD, rel, A>)                                                           <id, EVAP, rel*fevap, A>

                                               <id, EVAP, rel*fevap, A>                                                               bcst(<id, EVAP, SPREAD, rel*fevap, A>)


                                                                                                                                      <id, EVAP, rel*(fevap)2, A>
                                               <id, EVAP, rel*(fevap)2, A>




                                                                                                                                  …
                                           …




AWASS Summer School
                                                               58              Giovanna Di Marzo Serugendo
13/06/2012
Regional Leader Election

  The goal of this simulation is:
      To implement the Regional Leader Election example.
      To exploit the notion of BIO-CORE and Core Services.

  In this simulation we will see:
    -  Progressive building of disjoint groups
    -  A movie, showing the implementation results.

  This simulation shows that:
    -  How Core Services enacting basic mechanisms are implemented using
       universal eco-laws.
    -  Core services can be requested on demand by applications or high-level
       services, by injecting LSAs, thus easing the design and reusing code.
    -  How applications and high-level services can be performed by composing lower
       level services.



   AWASS Summer School
                              59      Giovanna Di Marzo Serugendo
   13/06/2012
Regional Leader Election

  Goal: To split the network                                                      createNewLSA
                                                                                       (LSA1)
   into disjoint groups, each led
   by one node.                                                                    injectLSA(lsa)

LSA1: <ID, EVAP, REL = random(0,100), DATA>
LSA2: <ID, SPREAD, DATA = leaderID>
                                                                                     readLSA()
                             rev
EC1: <ID, EVAP, REL, DATA>  <ID, EVAP, REL * fevap, DATA>            If noRole,
                                                                     LSA(Spread,     If noRole,
                        rspr                                          leaderID)       value=0
EC2: <ID, SPREAD, DATA>  <ID, DATA> bcast( <ID,SPREAD,DATA>
                                                                    MEMBER           LEADER         injectLSA(lsa)




                                                                                   createNewLSA
                                                                                       (LSA2)




   AWASS Summer School
                                   60         Giovanna Di Marzo Serugendo
   13/06/2012
Regional Leader Election




AWASS Summer School
                      61     Giovanna Di Marzo Serugendo
13/06/2012
Thank you

                       Questions ?


AWASS Summer School
                      62   Giovanna Di Marzo Serugendo
13/06/2012
Publications
[FMDMSM+12] Jose Luis Fernandez-Marquez, Giovanna Di Marzo Serugendo, Sara Montagna, Mirko
   viroli, and Josep Lluis Arcos. Description and composition of bio-inspired design patterns: a
   complete overview. Natural Computing Journal, 2012.
[FMDMSM11] Jose Luis Fernandez-Marquez, Giovanna Di Marzo Serurendo, and Sara Montagna. Bio-
   core: Bio-inspired self-organising mechanisms core. In 6th International ICST Conference on Bio-
   Inspired Models of Network, Information, and Computing Systems (Bionetics), December 2011.
[MVR+11] Sara Montagna, Mirko Viroli, Matteo Risoldi, Danilo Pianini, and Giovanna Di Marzo Serugendo.
   Self-organising pervasive ecosystems: A crowd evacuation example. In Proceedings of the 3rd
   International Workshop on Software Engineering for Resilient Systems, volume 6968 of Lecture Notes in
   Computer Science, pages 115-129. Springer-Verlag, 2011.
[TRGDM11] Akla-Esso Tchao, Matteo Risoldi, and Giovanna Giovanna Di Marzo. Modelling self-* systems
    using chemically inspired composable patterns. In IEEE Self-Adaptive and Self-Organising Systems
    Conference (SASO'2011), pages 109-118, 2011.
[FMADMS+11] Jose Luis Fernandez-Marquez, Josep Lluis Arcos, Giovanna Di Marzo Serugendo, Mirko Viroli,
    and Montagna Sara. Description and composition of bio-inspired design patterns: The gradient case. In
    Workshop on Bio-Inspired and Self-* Algorithms for Distributed Systems (BADS'2011), pages 25-32.
    ACM, 2011.
[FMADMSC11] Jose Luis Fernandez-Marquez, Josep Lluis Arcos, Giovanna Di Marzo Serugendo, and Matteo
    Casadei. Description and composition of bio-inspired design patterns: the gossip case. In Proc. of the
    Int.Conf. on Engineering of Autonomic and Autonomous Systems (EASE'2011), pages 87-96. IEEE
    Computer Society, 2011.




AWASS Summer School
                                   63        Giovanna Di Marzo Serugendo
13/06/2012

Mais conteúdo relacionado

Semelhante a From Self-Organising Mechanisms to Design Patterns

Description and Composition of Bio-Inspired Design Patterns: The Gradient Case
Description and Composition of Bio-Inspired Design Patterns: The Gradient CaseDescription and Composition of Bio-Inspired Design Patterns: The Gradient Case
Description and Composition of Bio-Inspired Design Patterns: The Gradient CaseFernandez-Marquez
 
Research brief observability and modern enterprise
Research brief   observability and modern enterpriseResearch brief   observability and modern enterprise
Research brief observability and modern enterpriseRishidot Research
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation FundamentalsPramod Parajuli
 
Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Danilo Pianini
 
Automated attendance system using Face recognition
Automated attendance system using Face recognitionAutomated attendance system using Face recognition
Automated attendance system using Face recognitionIRJET Journal
 
MS Word
MS WordMS Word
MS Wordbutest
 
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCEANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCEijesajournal
 
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCEANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCEijesajournal
 
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCEANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCEijesajournal
 
Smart Attendance System using Face-Recognition
Smart Attendance System using Face-RecognitionSmart Attendance System using Face-Recognition
Smart Attendance System using Face-RecognitionIRJET Journal
 
Dynamic Synthesis of to Support Interoperability in Autonomic Systems
Dynamic Synthesis of to Support Interoperability in Autonomic SystemsDynamic Synthesis of to Support Interoperability in Autonomic Systems
Dynamic Synthesis of to Support Interoperability in Autonomic SystemsAmel Bennaceur
 
New hybrid ensemble method for anomaly detection in data science
New hybrid ensemble method for anomaly detection in data science New hybrid ensemble method for anomaly detection in data science
New hybrid ensemble method for anomaly detection in data science IJECEIAES
 
Sanjaya: A Blind Assistance System
Sanjaya: A Blind Assistance SystemSanjaya: A Blind Assistance System
Sanjaya: A Blind Assistance SystemIRJET Journal
 
Community-based Crowdsourcing
Community-based CrowdsourcingCommunity-based Crowdsourcing
Community-based CrowdsourcingAndrea Mauri
 
A Distributed Architecture for Sharing Ecological Data Sets with Access and U...
A Distributed Architecture for Sharing Ecological Data Sets with Access and U...A Distributed Architecture for Sharing Ecological Data Sets with Access and U...
A Distributed Architecture for Sharing Ecological Data Sets with Access and U...Javier González
 
A Review on Novel Approach for Load Balancing in Cloud Computing
A Review on Novel Approach for Load Balancing in Cloud ComputingA Review on Novel Approach for Load Balancing in Cloud Computing
A Review on Novel Approach for Load Balancing in Cloud Computingijtsrd
 
On Collective Reinforcement Learning
On Collective Reinforcement LearningOn Collective Reinforcement Learning
On Collective Reinforcement LearningGianluca Aguzzi
 
INDOOR AND OUTDOOR NAVIGATION ASSISTANCE SYSTEM FOR VISUALLY IMPAIRED PEOPLE ...
INDOOR AND OUTDOOR NAVIGATION ASSISTANCE SYSTEM FOR VISUALLY IMPAIRED PEOPLE ...INDOOR AND OUTDOOR NAVIGATION ASSISTANCE SYSTEM FOR VISUALLY IMPAIRED PEOPLE ...
INDOOR AND OUTDOOR NAVIGATION ASSISTANCE SYSTEM FOR VISUALLY IMPAIRED PEOPLE ...IRJET Journal
 

Semelhante a From Self-Organising Mechanisms to Design Patterns (20)

Description and Composition of Bio-Inspired Design Patterns: The Gradient Case
Description and Composition of Bio-Inspired Design Patterns: The Gradient CaseDescription and Composition of Bio-Inspired Design Patterns: The Gradient Case
Description and Composition of Bio-Inspired Design Patterns: The Gradient Case
 
Research brief observability and modern enterprise
Research brief   observability and modern enterpriseResearch brief   observability and modern enterprise
Research brief observability and modern enterprise
 
Object Orientation Fundamentals
Object Orientation FundamentalsObject Orientation Fundamentals
Object Orientation Fundamentals
 
Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)Engineering computational ecosystems (2nd year PhD seminar)
Engineering computational ecosystems (2nd year PhD seminar)
 
Automated attendance system using Face recognition
Automated attendance system using Face recognitionAutomated attendance system using Face recognition
Automated attendance system using Face recognition
 
Ap03402460251
Ap03402460251Ap03402460251
Ap03402460251
 
MS Word
MS WordMS Word
MS Word
 
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCEANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
 
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCEANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
 
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCEANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
ANALYSIS OF SYSTEM ON CHIP DESIGN USING ARTIFICIAL INTELLIGENCE
 
Ijetcas14 469
Ijetcas14 469Ijetcas14 469
Ijetcas14 469
 
Smart Attendance System using Face-Recognition
Smart Attendance System using Face-RecognitionSmart Attendance System using Face-Recognition
Smart Attendance System using Face-Recognition
 
Dynamic Synthesis of to Support Interoperability in Autonomic Systems
Dynamic Synthesis of to Support Interoperability in Autonomic SystemsDynamic Synthesis of to Support Interoperability in Autonomic Systems
Dynamic Synthesis of to Support Interoperability in Autonomic Systems
 
New hybrid ensemble method for anomaly detection in data science
New hybrid ensemble method for anomaly detection in data science New hybrid ensemble method for anomaly detection in data science
New hybrid ensemble method for anomaly detection in data science
 
Sanjaya: A Blind Assistance System
Sanjaya: A Blind Assistance SystemSanjaya: A Blind Assistance System
Sanjaya: A Blind Assistance System
 
Community-based Crowdsourcing
Community-based CrowdsourcingCommunity-based Crowdsourcing
Community-based Crowdsourcing
 
A Distributed Architecture for Sharing Ecological Data Sets with Access and U...
A Distributed Architecture for Sharing Ecological Data Sets with Access and U...A Distributed Architecture for Sharing Ecological Data Sets with Access and U...
A Distributed Architecture for Sharing Ecological Data Sets with Access and U...
 
A Review on Novel Approach for Load Balancing in Cloud Computing
A Review on Novel Approach for Load Balancing in Cloud ComputingA Review on Novel Approach for Load Balancing in Cloud Computing
A Review on Novel Approach for Load Balancing in Cloud Computing
 
On Collective Reinforcement Learning
On Collective Reinforcement LearningOn Collective Reinforcement Learning
On Collective Reinforcement Learning
 
INDOOR AND OUTDOOR NAVIGATION ASSISTANCE SYSTEM FOR VISUALLY IMPAIRED PEOPLE ...
INDOOR AND OUTDOOR NAVIGATION ASSISTANCE SYSTEM FOR VISUALLY IMPAIRED PEOPLE ...INDOOR AND OUTDOOR NAVIGATION ASSISTANCE SYSTEM FOR VISUALLY IMPAIRED PEOPLE ...
INDOOR AND OUTDOOR NAVIGATION ASSISTANCE SYSTEM FOR VISUALLY IMPAIRED PEOPLE ...
 

Mais de FET AWARE project - Self Awareness in Autonomic Systems

Mais de FET AWARE project - Self Awareness in Autonomic Systems (20)

Academic Course: 13 Applications of and Challenges in Self-Awareness
Academic Course: 13 Applications of and Challenges in Self-AwarenessAcademic Course: 13 Applications of and Challenges in Self-Awareness
Academic Course: 13 Applications of and Challenges in Self-Awareness
 
Academic Course: 12 Safety and Ethics
Academic Course: 12 Safety and EthicsAcademic Course: 12 Safety and Ethics
Academic Course: 12 Safety and Ethics
 
Academic Course: 08 Pattern-based design of autonomic systems
Academic Course: 08 Pattern-based design of autonomic systemsAcademic Course: 08 Pattern-based design of autonomic systems
Academic Course: 08 Pattern-based design of autonomic systems
 
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic SystemsAcademic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
Academic Course: 07 Introduction to the Formal Engineering of Autonomic Systems
 
Academic Course: 06 Morphogenetic Engineering
Academic Course: 06 Morphogenetic EngineeringAcademic Course: 06 Morphogenetic Engineering
Academic Course: 06 Morphogenetic Engineering
 
Academic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 04 Introduction to complex systems and agent based modelingAcademic Course: 04 Introduction to complex systems and agent based modeling
Academic Course: 04 Introduction to complex systems and agent based modeling
 
Academic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent SystemsAcademic Course: 03 Autonomic Multi-Agent Systems
Academic Course: 03 Autonomic Multi-Agent Systems
 
Academic Course: 02 Self-organization and emergence in networked systems
Academic Course: 02 Self-organization and emergence in networked systemsAcademic Course: 02 Self-organization and emergence in networked systems
Academic Course: 02 Self-organization and emergence in networked systems
 
Academic Course: 01 Self-awarenesss and Computational Self-awareness
Academic Course: 01 Self-awarenesss and Computational Self-awarenessAcademic Course: 01 Self-awarenesss and Computational Self-awareness
Academic Course: 01 Self-awarenesss and Computational Self-awareness
 
Awareness: Layman Seminar Slides
Awareness: Layman Seminar SlidesAwareness: Layman Seminar Slides
Awareness: Layman Seminar Slides
 
Industry Training: 04 Awareness Applications
Industry Training: 04 Awareness ApplicationsIndustry Training: 04 Awareness Applications
Industry Training: 04 Awareness Applications
 
Industry Training: 03 Awareness Simulation
Industry Training: 03 Awareness SimulationIndustry Training: 03 Awareness Simulation
Industry Training: 03 Awareness Simulation
 
Industry Training: 02 Awareness Properties
Industry Training: 02 Awareness PropertiesIndustry Training: 02 Awareness Properties
Industry Training: 02 Awareness Properties
 
Industry Training: 01 Awareness Overview
Industry Training: 01 Awareness OverviewIndustry Training: 01 Awareness Overview
Industry Training: 01 Awareness Overview
 
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Robot Swarms as Ensembles of Cooperating Components - Matthias HolzlRobot Swarms as Ensembles of Cooperating Components - Matthias Holzl
Robot Swarms as Ensembles of Cooperating Components - Matthias Holzl
 
Towards Systematically Engineering Ensembles - Martin Wirsing
Towards Systematically Engineering Ensembles - Martin WirsingTowards Systematically Engineering Ensembles - Martin Wirsing
Towards Systematically Engineering Ensembles - Martin Wirsing
 
Capturing the Immune System: From the wet-­lab to the robot, building better ...
Capturing the Immune System: From the wet-­lab to the robot, building better ...Capturing the Immune System: From the wet-­lab to the robot, building better ...
Capturing the Immune System: From the wet-­lab to the robot, building better ...
 
Underwater search and rescue in swarm robotics - Mark Read
Underwater search and rescue in swarm robotics - Mark Read Underwater search and rescue in swarm robotics - Mark Read
Underwater search and rescue in swarm robotics - Mark Read
 
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
Computational Self-awareness in Smart-Camera Networks - Lukas EsterleComputational Self-awareness in Smart-Camera Networks - Lukas Esterle
Computational Self-awareness in Smart-Camera Networks - Lukas Esterle
 
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
Why Robots may need to be self-­‐aware, before we can really trust them - Ala...
 

Último

The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13Steve Thomason
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfsanyamsingh5019
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)eniolaolutunde
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsTechSoup
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Krashi Coaching
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDThiyagu K
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room servicediscovermytutordmt
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingTeacherCyreneCayanan
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfchloefrazer622
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityGeoBlogs
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajanpragatimahajan3
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Sapana Sha
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfchloefrazer622
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdfQucHHunhnh
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...PsychoTech Services
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAssociation for Project Management
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Disha Kariya
 

Último (20)

The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13The Most Excellent Way | 1 Corinthians 13
The Most Excellent Way | 1 Corinthians 13
 
Sanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdfSanyam Choudhary Chemistry practical.pdf
Sanyam Choudhary Chemistry practical.pdf
 
Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)Software Engineering Methodologies (overview)
Software Engineering Methodologies (overview)
 
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
Mattingly "AI & Prompt Design: Structured Data, Assistants, & RAG"
 
Introduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The BasicsIntroduction to Nonprofit Accounting: The Basics
Introduction to Nonprofit Accounting: The Basics
 
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
Kisan Call Centre - To harness potential of ICT in Agriculture by answer farm...
 
Measures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SDMeasures of Dispersion and Variability: Range, QD, AD and SD
Measures of Dispersion and Variability: Range, QD, AD and SD
 
9548086042 for call girls in Indira Nagar with room service
9548086042  for call girls in Indira Nagar  with room service9548086042  for call girls in Indira Nagar  with room service
9548086042 for call girls in Indira Nagar with room service
 
fourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writingfourth grading exam for kindergarten in writing
fourth grading exam for kindergarten in writing
 
Arihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdfArihant handbook biology for class 11 .pdf
Arihant handbook biology for class 11 .pdf
 
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"Mattingly "AI & Prompt Design: The Basics of Prompt Design"
Mattingly "AI & Prompt Design: The Basics of Prompt Design"
 
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptxINDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
INDIA QUIZ 2024 RLAC DELHI UNIVERSITY.pptx
 
Paris 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activityParis 2024 Olympic Geographies - an activity
Paris 2024 Olympic Geographies - an activity
 
social pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajansocial pharmacy d-pharm 1st year by Pragati K. Mahajan
social pharmacy d-pharm 1st year by Pragati K. Mahajan
 
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111Call Girls in Dwarka Mor Delhi Contact Us 9654467111
Call Girls in Dwarka Mor Delhi Contact Us 9654467111
 
Disha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdfDisha NEET Physics Guide for classes 11 and 12.pdf
Disha NEET Physics Guide for classes 11 and 12.pdf
 
1029 - Danh muc Sach Giao Khoa 10 . pdf
1029 -  Danh muc Sach Giao Khoa 10 . pdf1029 -  Danh muc Sach Giao Khoa 10 . pdf
1029 - Danh muc Sach Giao Khoa 10 . pdf
 
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
IGNOU MSCCFT and PGDCFT Exam Question Pattern: MCFT003 Counselling and Family...
 
APM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across SectorsAPM Welcome, APM North West Network Conference, Synergies Across Sectors
APM Welcome, APM North West Network Conference, Synergies Across Sectors
 
Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..Sports & Fitness Value Added Course FY..
Sports & Fitness Value Added Course FY..
 

From Self-Organising Mechanisms to Design Patterns

  • 1. Self-aware Pervasive Service Ecosystems From Self-Organising Mechanisms to Design Patterns Giovanna Di Marzo Serugendo University of Geneva Giovanna.Dimarzo@unige.ch AWASS Summer School 1 Giovanna Di Marzo Serugendo 13/06/2012
  • 2. Outline   Motivation: Spatial Structures and Services   Self-Organising Mechanisms and Design Patterns   Computational Model   Case Study: Crowd Steering AWASS Summer School 2 Giovanna Di Marzo Serugendo 13/06/2012
  • 3. Spatial Structures and Services AWASS Summer School 3 Giovanna Di Marzo Serugendo 13/06/2012
  • 4. Motivation   The goal of this work is to propose an execution model for engineering self-organising application in pervasive system. The execution model should: –  Allow the (re-)use of code, easing the design and implementation of bio-inspired applications. –  Provide a set of bio-inspired mechanisms as low-level 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 the middleware using existing technologies. 4
  • 5. Motivation   Engineered Systems –  Swarms of robots, unmanned vehicles –  Information dissemination –  P2P systems / Overlay networks –  Immune computer –  Trust-based access control –  Grid computing 5 EASE, 27/04/2011
  • 6. Motivation   Engineering of complex systems –  Environment –  Software Agents / Services (autonomous entities) –  Self-* Mechanisms –  Middleware infrastructures   Self-* mechanisms (bio-inspired) –  Expressed under the form of design patterns –  Identify limits of each pattern / mechanism 6 EASE, 27/04/2011
  • 7. Motivation   Spatial structures for pervasive systems –  Self-organising / bio-inspired mechanisms   Decentralisation, robust, resilient, adapt to environmental changes   Complex behaviour with relatively simple rules   Design Patterns’ Catalogue –  Mechanisms recurrent and frequently involved in more complex mechanisms –  Identification of:   Inter-relations between mechanisms   Boundaries of each mechanism –  Classification into three levels   Building Blocks for Spatial Structures   Basis for Self-Aware Services and Self-Aware Applications   Basis for composition of Self-Aware Services [FMADMSC11, FMADMS+11, FMDMSM+12] AWASS Summer School 7 Giovanna Di Marzo Serugendo 13/06/2012
  • 8. Computational Model Software Agents Organisms Host Agents, memory, sensors, actuators... Infrastructure Infrastructural Agents Environment Environment (a) Biological Model (b) Computational Model AWASS Summer School 8 Giovanna Di Marzo Serugendo 13/06/2012
  • 9. Computational Model AWASS Summer School 9 Giovanna Di Marzo Serugendo 13/06/2012
  • 10. Computational Model   Software agents –  Active autonomous entities (services, information, etc.)   Host –  Computing device hosting agent execution   E.g. sensors, PDAs, computers, …   Environmental agents –  Autonomous entity working on behalf of infrastructure   E.g. evaporating pheromone, updating gradients   Environment –  Anything else on which agents have no control   E.g. user switching device off, temperature, humidity, etc. 10 EASE, 27/04/2011
  • 11. Outline   Motivation: Spatial Structures and Services   Self-Organising Mechanisms and Design Patterns   Computational Model AWASS Summer School 11 Giovanna Di Marzo Serugendo 13/06/2012
  • 12. Self-Organising Design Patterns   Description –  Abstract Transition Rule –  Sequence Diagram, Implementation details, Explanations AWASS Summer School 12 Giovanna Di Marzo Serugendo 13/06/2012
  • 13. Self-Organising Design Patterns l Pa -Leve ns Ant tter Flocking Quorum Sensing Chemotaxis Morphogenesis h Foraging Hig tter d Pa pose ns Digital Pheromone Gradients Gossip m Co ns Pa sic tter Repulsion Evaporation Aggregation Spreading Ba AWASS Summer School 13 Giovanna Di Marzo Serugendo 13/06/2012
  • 15. 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 AWASS Summer School 15 Giovanna Di Marzo Serugendo 13/06/2012
  • 16. Spreading   Implementation AWASS Summer School 16 Giovanna Di Marzo Serugendo 13/06/2012
  • 17. Aggregation AWASS Summer School 17 Giovanna Di Marzo Serugendo 13/06/2012
  • 18. Aggregation   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 AWASS Summer School 18 Giovanna Di Marzo Serugendo 13/06/2012
  • 19. Aggregation   Implementation Infrastuctural Agent or Host Agent data_req() send_data() Apply Aggregation send_data_aggr() Store Aggregated Data AWASS Summer School 19 Giovanna Di Marzo Serugendo 13/06/2012
  • 20. Evaporation AWASS Summer School 20 Giovanna Di Marzo Serugendo 13/06/2012
  • 21. 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 AWASS Summer School 21 Giovanna Di Marzo Serugendo 13/06/2012
  • 22. Evaporation   Implementation Start rev? No yes Rel(Inf) > 0 ? No Yes Stop Apply Evap. AWASS Summer School 22 Giovanna Di Marzo Serugendo 13/06/2012
  • 23. Repulsion AWASS Summer School 23 Giovanna Di Marzo Serugendo 13/06/2012
  • 24. Repulsion   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 AWASS Summer School 24 Giovanna Di Marzo Serugendo 13/06/2012
  • 25. Repulsion   Implementation Agent Host Neighbouring Hosts Start SendPositionRequest() SendPositionRequest() SendPositionReque stToNeighbours() SendPosition() SendPosition() Received Positions? CalculateRepulsion Vector() No yes CalculateDesired Calculate Position() Repulsion() MoveToHostClosest ToNewPosition() MoveToHostClosest CalculateDesired ToNewPosition() Position() MoveToHostClosest ToNewPosition() AWASS Summer School 25 Giovanna Di Marzo Serugendo 13/06/2012
  • 26. Self-Organising Design Patterns l Pa -Leve ns Ant tter Flocking Quorum Sensing Chemotaxis Morphogenesis h Foraging Hig tter d Pa pose ns Digital Pheromone Gradients Gossip m Co ns Pa sic tter Repulsion Evaporation Aggregation Spreading Ba AWASS Summer School 26 Giovanna Di Marzo Serugendo 13/06/2012
  • 27. Gossip AWASS Summer School 27 Giovanna Di Marzo Serugendo 13/06/2012
  • 28. 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 AWASS Summer School 28 Giovanna Di Marzo Serugendo 13/06/2012
  • 29. Gossip   Implementation: Start Agent or Neighbour Host Infras. Agent Hosts no input send(inf) events? send(inf) yes Same value apply aggr. yes broadcasted operator before? Stop no send(aggr) Apply send(aggr) aggregation operator Broadcast aggregated Information AWASS Summer School 29 Giovanna Di Marzo Serugendo 13/06/2012
  • 30. Gradient AWASS Summer School 30 Giovanna Di Marzo Serugendo 13/06/2012
  • 31. Gradient   Problem: –  agents belonging to large systems suffer from lack of global knowledge to estimate the consequences of their actions or the actions performed by other agents beyond their communication range   Solution –  information spreads from the location it is initially deposited and aggregates when it meets other information. During spreading, additional information about the sender’s distance and direction is provided: either through a distance value (incremented or decremented); or by modifying the information to represent its concentration (lower concentration when information is further away).   Entities – Dynamics - Environment AWASS Summer School 31 Giovanna Di Marzo Serugendo 13/06/2012
  • 32. Gradient   Implementation: Start Neighbour Agent or Neighbour Agent Host Host Hosts Infras. Agent Hosts input No send(inf,d) events? send(inf,0) send(inf,d) yes send(inf,0) check inf and Aggregate. Distance is no lower than local one? send(inf, d+1) send(inf, d+1) Stop yes Aggregated inf. (The one with lower distance stays stored) Broadcast inf. incrementing counter AWASS Summer School 32 Giovanna Di Marzo Serugendo 13/06/2012
  • 33. Digital Pheromone AWASS Summer School 33 Giovanna Di Marzo Serugendo 13/06/2012
  • 34. Digital Pheromone   Problem: –  coordination of agents in large scale environments using indirect communication   Solution –  digital pheromone provides a way to coordinate agent’s behaviour using indirect communication in high dynamic environments. Digital pheromones create gradients that spread over the environment, carrying information about their distance and direction. Thus, agents can perceive pheromones from the distance and increase the knowledge about the system. Moreover, as time goes by digital pheromones evaporate, providing adaptation to environmental changes AWASS Summer School 34 Giovanna Di Marzo Serugendo 13/06/2012
  • 35. Digital Pheromone   Entities – Dynamics – Environment AWASS Summer School 35 Giovanna Di Marzo Serugendo 13/06/2012
  • 36. Self-Organising Design Patterns l Pa -Leve ns Ant tter Flocking Quorum Sensing Chemotaxis Morphogenesis h Foraging Hig tter d Pa pose ns Digital Pheromone Gradients Gossip m Co ns Pa sic tter Repulsion Evaporation Aggregation Spreading Ba AWASS Summer School 36 Giovanna Di Marzo Serugendo 13/06/2012
  • 37. Ant Foraging AWASS Summer School 37 Giovanna Di Marzo Serugendo 13/06/2012
  • 38. Ant Foraging   Problem: –  large scale optimisation problems that can be transformed into the problem of finding the shortest path on a weighted graph.   Solution –  the Ant Foraging Pattern provides rules to explore the environment in a decentralised manner and to exploit resources   Entities – Dynamics - Environment AWASS Summer School 38 Giovanna Di Marzo Serugendo 13/06/2012
  • 39. Ant Foraging   Implementation AWASS Summer School 39 Giovanna Di Marzo Serugendo 13/06/2012
  • 40. Morphogenesis AWASS Summer School 40 Giovanna Di Marzo Serugendo 13/06/2012
  • 41. Morphogenesis   Problem: –  in large-scale decentralised systems, agents decide on their roles or plan their activities based on their spatial position   Solution –  specific agents spread morphogenetic gradients. Agents assess their positions in the system by computing their relative distance to the morphogenetic gradients sources   Entities – Dynamics - Environment AWASS Summer School 41 Giovanna Di Marzo Serugendo 13/06/2012
  • 42. Morphogenesis   Implementation: Neighbour Start Agent Host Hosts GradInf() GradInf() Gradients Received? Estimate relative position No yes Change Agent's role Estimate relative position based on received gradients Change role according to the relative position AWASS Summer School 42 Giovanna Di Marzo Serugendo 13/06/2012
  • 43. Chemotaxis AWASS Summer School 43 Giovanna Di Marzo Serugendo 13/06/2012
  • 44. Chemotaxis   Problem: –  decentralised motion coordination aiming at detecting sources or boundaries of events   Solution –  agents locally sense gradient information and follow the gradient in a specified direction (i.e. follow higher gradient values, lower gradient values, or equipotential lines of gradients).   Entities – Dynamics - Environment AWASS Summer School 44 Giovanna Di Marzo Serugendo 13/06/2012
  • 45. Chemotaxis   Implementation Neighbour Agent Host Start Hosts GradRequest() Send concetration GradRequest() request to n neighbouring hosts yes Send_grad() Send_grad() No Inf. Received? Choose host with highest concentration yes MoveToHost(h) MoveToHost(h) Move to host with highest gradient AWASS Summer School 45 Giovanna Di Marzo Serugendo 13/06/2012
  • 46. Quorum Sensing AWASS Summer School 46 Giovanna Di Marzo Serugendo 13/06/2012
  • 47. Quorum Sensing   Problem: –  collective decisions in large-scale decentralised systems, requiring a threshold number of agents or estimation of the density of agents in a system, using only local interactions.   Solution –  the Quorum Sensing Pattern allows to take collective decisions through an estimation by individual agents of the agents’ density (assessing the number of other agents they interact with) and by determination of a threshold number of agents necessary to take the decision   Entities – Dynamics – Environment –  Gradient, Morphogenesis AWASS Summer School 47 Giovanna Di Marzo Serugendo 13/06/2012
  • 48. Quorum Sensing   Implementation Neighbour Agent Host Hosts Start GradInf() GradInf() Gradients Receved? if Grad > thres trigger task No yes No Gradient's concentration higher than threshold? yes Trigger collaborative task AWASS Summer School 48 Giovanna Di Marzo Serugendo 13/06/2012
  • 49. Flocking AWASS Summer School 49 Giovanna Di Marzo Serugendo 13/06/2012
  • 50. Flocking   Problem: –  Dynamic motion coordination and pattern formation of swarms   Solution –  The Flocking Pattern provides a set of rules for moving groups of agents over the environment while keeping the formation and interconnections between them   Entities – Dynamics – Environment –  Cohesion (group) –  Separation –  Alignment (velocity, direction) –  Group objective (target) AWASS Summer School 50 Giovanna Di Marzo Serugendo 13/06/2012
  • 51. Outline   Motivation: Spatial Structures and Services   Self-Organising Mechanisms and Design Patterns   Computational Model AWASS Summer School 51 Giovanna Di Marzo Serugendo 13/06/2012
  • 53. BIO-CORE BIO-CORE is an execution model based on: shared space technology, and rules. BIO-CORE implements a set of: •  low level core services, providing basic self-organising mechanisms (e.g. Aggregation, Spreading, Evaporation, Gradients) •  requested on demand by applications or high level services. 53
  • 54. BIO-CORE Structure BIO-CORE is composed of: Core Data space: Shared space located in nodes, where data reside. External Interface: Provides a set of primitives to allow applications and high level services to inject, retrieve or remove data. Engine: The engine processes the data located in the Core Data Space and executes rules according to the data properties. 54
  • 55. Execution Model and Core Services   BIO-CORE –  Execution model for Core mechanisms (ready to use) as Core Services   Decoupling   Functionality of Self-Aware Applications from Environmental Tasks   Spatial structure maintenance (e.g. Gradient spreading, Evaporation, …)   Mechanisms for Spatial Structure made available to applications as Core Services   Reuse of code   Same Core Service used by many Self-Aware Applications or Services   Encapsulation of specific mechanisms (one at a time) [FMDMSM11] AWASS Summer School 55 Giovanna Di Marzo Serugendo 13/06/2012
  • 56. Execution Model and Core Services   Core Services AWASS Summer School 56 Giovanna Di Marzo Serugendo 13/06/2012
  • 57. Execution Model and Core Services   Spreading Service   Evaporation Service node:Node node:Node agent: Agent space:LSA space agent: Agent space:LSA space neighbouringNodes:Node Inject(<id, EVAP, rel, A>) inject(<id, SPREAD, A>) <id, EVAP, rel*fevap, A> <id, A> bcst(<id, SPREAD,A>) <id, EVAP, rel*(fevap)2, A> … AWASS Summer School 57 Giovanna Di Marzo Serugendo 13/06/2012
  • 58. Execution Model and Core Services   Composition of Core Services –  Design time composition, late binding node:Node node:Node neighbouringNodes: neighbouringNodes: space:LSA space agent: Agent space:LSA space agent: Agent Node Node inject(<id, EVAP, SPREAD, rel, A>) inject(<id, EVAP, SPREAD, rel, A>) <id, EVAP, rel, A> <id, EVAP, SPREAD, rel*fevap, A> bcst(<id, EVAP, SPREAD, rel, A>) <id, EVAP, rel*fevap, A> <id, EVAP, rel*fevap, A> bcst(<id, EVAP, SPREAD, rel*fevap, A>) <id, EVAP, rel*(fevap)2, A> <id, EVAP, rel*(fevap)2, A> … … AWASS Summer School 58 Giovanna Di Marzo Serugendo 13/06/2012
  • 59. Regional Leader Election   The goal of this simulation is:   To implement the Regional Leader Election example.   To exploit the notion of BIO-CORE and Core Services.   In this simulation we will see: -  Progressive building of disjoint groups -  A movie, showing the implementation results.   This simulation shows that: -  How Core Services enacting basic mechanisms are implemented using universal eco-laws. -  Core services can be requested on demand by applications or high-level services, by injecting LSAs, thus easing the design and reusing code. -  How applications and high-level services can be performed by composing lower level services. AWASS Summer School 59 Giovanna Di Marzo Serugendo 13/06/2012
  • 60. Regional Leader Election   Goal: To split the network createNewLSA (LSA1) into disjoint groups, each led by one node. injectLSA(lsa) LSA1: <ID, EVAP, REL = random(0,100), DATA> LSA2: <ID, SPREAD, DATA = leaderID> readLSA() rev EC1: <ID, EVAP, REL, DATA>  <ID, EVAP, REL * fevap, DATA> If noRole, LSA(Spread, If noRole, rspr leaderID) value=0 EC2: <ID, SPREAD, DATA>  <ID, DATA> bcast( <ID,SPREAD,DATA> MEMBER LEADER injectLSA(lsa) createNewLSA (LSA2) AWASS Summer School 60 Giovanna Di Marzo Serugendo 13/06/2012
  • 61. Regional Leader Election AWASS Summer School 61 Giovanna Di Marzo Serugendo 13/06/2012
  • 62. Thank you Questions ? AWASS Summer School 62 Giovanna Di Marzo Serugendo 13/06/2012
  • 63. Publications [FMDMSM+12] Jose Luis Fernandez-Marquez, Giovanna Di Marzo Serugendo, Sara Montagna, Mirko viroli, and Josep Lluis Arcos. Description and composition of bio-inspired design patterns: a complete overview. Natural Computing Journal, 2012. [FMDMSM11] Jose Luis Fernandez-Marquez, Giovanna Di Marzo Serurendo, and Sara Montagna. Bio- core: Bio-inspired self-organising mechanisms core. In 6th International ICST Conference on Bio- Inspired Models of Network, Information, and Computing Systems (Bionetics), December 2011. [MVR+11] Sara Montagna, Mirko Viroli, Matteo Risoldi, Danilo Pianini, and Giovanna Di Marzo Serugendo. Self-organising pervasive ecosystems: A crowd evacuation example. In Proceedings of the 3rd International Workshop on Software Engineering for Resilient Systems, volume 6968 of Lecture Notes in Computer Science, pages 115-129. Springer-Verlag, 2011. [TRGDM11] Akla-Esso Tchao, Matteo Risoldi, and Giovanna Giovanna Di Marzo. Modelling self-* systems using chemically inspired composable patterns. In IEEE Self-Adaptive and Self-Organising Systems Conference (SASO'2011), pages 109-118, 2011. [FMADMS+11] Jose Luis Fernandez-Marquez, Josep Lluis Arcos, Giovanna Di Marzo Serugendo, Mirko Viroli, and Montagna Sara. Description and composition of bio-inspired design patterns: The gradient case. In Workshop on Bio-Inspired and Self-* Algorithms for Distributed Systems (BADS'2011), pages 25-32. ACM, 2011. [FMADMSC11] Jose Luis Fernandez-Marquez, Josep Lluis Arcos, Giovanna Di Marzo Serugendo, and Matteo Casadei. Description and composition of bio-inspired design patterns: the gossip case. In Proc. of the Int.Conf. on Engineering of Autonomic and Autonomous Systems (EASE'2011), pages 87-96. IEEE Computer Society, 2011. AWASS Summer School 63 Giovanna Di Marzo Serugendo 13/06/2012