ICP Architecture: Execution and Control

21
ICP Architecture: Execution and Control Bostjan Kaluza, Damjan Kuznar , Erik Dovgan, Jernej Zupancic, and Matjaz Gams Jozef Stefan Institute, Slovenia

description

ICP Architecture: Execution and Control. Bostjan Kaluza, Damjan Kuznar , Erik Dovgan , Jernej Zupancic , and Matjaz Gams Jozef Stefan Institute, Slovenia. Outline. I. Introduction Principles and argumentation Idea Relation to TNO architecture II. Analysis Use cases Agent types - PowerPoint PPT Presentation

Transcript of ICP Architecture: Execution and Control

Page 1: ICP Architecture: Execution and Control

ICP Architecture:Execution and Control

Bostjan Kaluza, Damjan Kuznar, Erik Dovgan, Jernej Zupancic, and Matjaz Gams

Jozef Stefan Institute, Slovenia

Page 2: ICP Architecture: Execution and Control

Outline

• I. Introduction– Principles and argumentation– Idea– Relation to TNO architecture

• II. Analysis– Use cases– Agent types– Responsibilities– Agent deployment

• III. Design – Next steps

Page 3: ICP Architecture: Execution and Control

Principles and Motivation

• Properties of smart cities• Smart Cities, I. Celino, S. Kotoulas (eds.), IEEE Internet Computing,

November/December 2013:– Effectively process networked city information– Information to authorities, business, citizens, optimizing energy and

water production or consumption, traffic management, public safety, emergency response

– Multifaceted and cross-domain challenges, inherently interdisciplinary– Reason on spatial, temporal and contextual aspects of data– Life-cycle of data, integrating heterogeneous sources – Ubiquitous, pervasive, AmI, agents, AI– IBM Smarter Planet initiative, Siemens Sustainable Cities, Oracle IT

platform City services, Microsoft CityNext platform

Page 4: ICP Architecture: Execution and Control

Principles and Motivation/ Design

• Principles of designing large distributed systems– Need to balance: simplicity, scalability, performance, reliability, generality,

features– Before doing anything, consult people having experience with designing large

distributed systems (Belifemine; JSI)

• Software design topics – Design concepts: abstraction, refinement …– Design considerations: compatibility, fault-tolerance …– Modeling language: flowchart, UML, SysML, …– Design patterns: reuse of patterns, modules …– Usage: documentation, prototypes

• Practical: choose design methodology, forms, languages …– Execute: Definition, analysis, design, implementation, test

Page 5: ICP Architecture: Execution and Control

Motivation / our approach

• Agent technologies best for smart cities /ACCUS– Agent: autonomous SW component, providing interoperable interface to an

arbitraty system, persuading its agenda for a client– Autonomous, social, reactive, proactive, mobile, truthful, benevolent

• Our proposal – Agent design methodology– Prototype on a smart house / current– OSGi, JADE, JADEX– Two parts

• very compact (!) core working every-day tasks fast and reliable (limited size and functionality; general and flexible)

• complex advanced modules providing „thinking“(negotiating, optimizing, learning; large, heterogenous, complex, not fully reliable, scientific and operational challenges)

Page 6: ICP Architecture: Execution and Control

Idea

Operational and control levels:

• ICP Backbone– Runtime environment (management, communication, …)– Focused on execution– Responsive behavior (via service calls, notifications)

• ICP Mind– Proactive behavior– Learning, optimization, control

Page 7: ICP Architecture: Execution and Control

ACCUS Plug-ins

ACCUS Integration and Coordination Platform

Application

Smart Lighting

Event detection

Application

Service

Cross Domain

ACCUS architecture

Application

Info Broker & coordination

Control Broker & coordination

Java VM

ACCUS ICPCore

ACCUS ICP Extensions

ACCUSApplications

ServiceRepository

Hardware

OSGi

OS

ACCUSData Store

Work Flow Engine

ApplicationServer

Semantic mapping Ontology DB

Presence detection

Locationdetection

Policy management

Managem

ent

SubsystemMonitoring

PolicyDB

Secu

rity

Identity & access

managementService Broker

ACCUS API

Subsystem adaptor

Subsystem

Service

ApplicationServer Data

management

Service Bus

Calamity detectionService …

Ruleengine

Dataanalytics

Trafficmonitor

Generic service …

Generic service …

ACCUS Service Plug-ins

= Standard software

= ACCUS specific software

Subsystems

= case specific software

ICP Backbone

ICP Mind

Page 8: ICP Architecture: Execution and Control

Infrastructure vs. Control View

• Two-dimensional view

Infrastructure

Execution and ControlICP Backbone

ExecutionResponsive behavior

ICP MindPlanning

Proactive behaviorACCUS ICP Core

Generic ACCUS ICP Extensions

Accus specific ACCUS Plugins

City specific

Page 9: ICP Architecture: Execution and Control

II. ANALYSIS• Use cases• Agent types• Responsibilities• Agent deployment

Page 10: ICP Architecture: Execution and Control

Sample ICP Backbone Use Case :Emergency Management

Page 11: ICP Architecture: Execution and Control

Sample ICP Backbone Use Case :Emergency Management

Page 12: ICP Architecture: Execution and Control

Sample ICP Backbone Use Case :Emergency Management

Page 13: ICP Architecture: Execution and Control

Sample ICP Mind Use Case:Multiagent negotiations

Page 14: ICP Architecture: Execution and Control

Sample ICP Mind Use Case:Multiagent negotiations

Page 15: ICP Architecture: Execution and Control

Agent (Service*) Types: ICP Backbone

• Communication• Service management– Service life-cycle

• Rule engine– Executing queries

• Workflow engine– Executing emergency response

• Security

*service = basic reactive agent

Page 16: ICP Architecture: Execution and Control

Agent types: ICP Mind

• Subsystem coordinators, city coordinator– Belief-Desire-Intention agents– Proactive, follow their goals– Organizational structure– (decision making, negotiations)

• Support agents– Optimization

• Stochastic optimization• Game theory (Nash equilibriums, multiagent negotiations)

– Learning• Anomaly detection• Surrogate modeling (simulator synthesis)

– Data analytics– Adaptive control schemes

Page 17: ICP Architecture: Execution and Control

Organizational Structure (partial)

Communication

Service management

Rule engine

Work flow engine

Security

Subsystem 1 services

Subsystem 2 services

Transducer 1

Transducer 2

Subsystem 1 Subsystem 2

Data analytics

agent

Learning agent

Optimization agent

Subsystem 1 coordinator

agent

Subsystem 2 coordinator

agent

City coordinator

agent

Adaptive control

schemes

Min

dBa

ckbo

ne

CoordinatorsSupport

Page 18: ICP Architecture: Execution and Control

Responsibilities: Lighting coordinator

• Receives lighting schedules from authorized agents• Retrieves information on weather, traffic conditions, pedestrians,

cyclists etc• Receives new algorithms for computing lamp brightness• Presents information on lamp conditions, power consumption,

brightness levels etc• Uses support agents (Nash equilibria agent, stochastic optimization

agent) to compute better – (sub)optimal settings for operation• Uses support agents to specify workflow in case of emergency or

anomaly detection• Negotiates with other subsystem coordinator agents• Listens to the City coordinator agent

Page 19: ICP Architecture: Execution and Control

Deployment Information

• ICP Backbone: OSGi• ICP Mind: Jade, Jadex

ARTEMIS-2013

JADE

OSGi

JAVA

OS

HARDWARE

Database

APP server

ICP MINDICP BACKBONE

Page 20: ICP Architecture: Execution and Control

Wrapper

Deployment: Integration with ICP

• Transducer (when modifying code is not possible)– Separate process that implements API and communicates with

outside system– Each application specifies input/output in the agent language

• Wrapper (when modifying code is possible)– API envelope

• Code rewrite (programmed in line with agents paradigm)– Part of ICP, our components

Legacy resource

Legacy codeRewrite

Transducer

ACLACLACL

Page 21: ICP Architecture: Execution and Control

Further Work: Architecture Design

• Interaction specification• Protocol definition• Message templates• Agent user interaction• Internal agent behavior• Defining ontology