Post on 26-Dec-2015
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– Responsibilities– Agent deployment
• III. Design – Next steps
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
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
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)
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
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
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
II. ANALYSIS• Use cases• Agent types• Responsibilities• Agent deployment
Sample ICP Backbone Use Case :Emergency Management
Sample ICP Backbone Use Case :Emergency Management
Sample ICP Backbone Use Case :Emergency Management
Sample ICP Mind Use Case:Multiagent negotiations
Sample ICP Mind Use Case:Multiagent negotiations
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
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
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
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
Deployment Information
• ICP Backbone: OSGi• ICP Mind: Jade, Jadex
ARTEMIS-2013
JADE
OSGi
JAVA
OS
HARDWARE
Database
APP server
ICP MINDICP BACKBONE
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
Further Work: Architecture Design
• Interaction specification• Protocol definition• Message templates• Agent user interaction• Internal agent behavior• Defining ontology