260 likes | 391 Views
Adaptive Environments: Essential for Scalable, Survivable, and Secure Multi-Agent Systems. March 21, 2007 Dr. John Zinky jzinky@bbn.com Workshop on Large Scale Multi-Agent Architectures. Outline. Target Applications Cougaar Agent Middleware Adaptive Environments Open Research Topics.
E N D
Adaptive Environments: Essential forScalable, Survivable, and Secure Multi-Agent Systems March 21, 2007 Dr.John Zinky jzinky@bbn.com Workshop on Large Scale Multi-Agent Architectures
Outline Target Applications Cougaar Agent Middleware Adaptive Environments Open Research Topics
Extreme Applications Realtime distributed P2P applications with severe resource constraints and with Scalability, Survivability, Security (S3) requirements • Examples of Extreme Applications • Information Assurance • Surveillance on UAV mobile sensor platforms • Proactive content distribution • Global network management and optimization • Mission Management Management Plane Data Processing Plane
Application Business System Properties of Extreme Applications • System Resource Constraints • (exhibited during runtime) • Distributedness of cyber resources: centralized vs. LANvs. WAN • Data plane speed: batch vs. online vs. realtime (superhuman) • Survivability (reliability & performance): non-crucial vs. exigent • Security adversary level: trust all vs. compartmentalized trust vs. malicious vs. insider threat • Scalability (hosts): 10s vs. 100s vs. 1000s vs. >10,000 • Application Functional Requirements • (addressed at programming/development phase) • Communication: client/server vs. P2P • Development cycle: waterfall vs. adaptive • Process during operational lifespan: fixed vs. evolving • Human participation level: none vs. sensor vs. model vs. cognitive • Cross-cyber resource load CPU vs. network vs. storage vs. all • Business Environment • (Organizational constraints) • Market share: large vs. medium vs. small • Integration environment: standalone vs. stovepipe vs. new functionality w/ legacy system integration
management plane data plane Cognitive Control Loop Model-Based Control Loop Sensor-Based Control Loop Sensor Proxy Agents processing status coordination processing. trends coordination processing pattern coordination Processing Units Processing Units Situation Predictor Agents Cognitive Learner Agents Real-time Optimizer Agents Processing Units Model updates situation policy inference rules network Disk CPU resource pattern coordination resource trends coordination resource status coordination Sensor Proxy Agents days to hours hours to minutes secs to msecs Abstract Architecture for Extreme Applications Application Environment
Outline Target Applications Cougaar Agent Middleware Adaptive Environments Open Research Topics
Cougaar Agent Reference Model Application domain specific Behavior Behavior BB BB Agent Agent Elastic Boundary coordinator coordinator sensor sensor effector effector Infrastructure Cyber Resource Physical service service service service service System specific component component component component component library library Abstracted Environment • Environment • Distributed • Services • Components • Imported libraries • Service oriented API • Agent/Env. API • sensor • effector • coordinator • active API Agents • Local • Behavior (plugin) • State (BB) • Pub/Sub Black Board (BB) API
Behavior Behavior Agent Coordination Agent BB BB MTS Node Process Node Process IP Host Host Separation of Application from Environment Agents handle Application Behavior Environment handles Systemic Adaptation Agents and Environment can be independently developed, tested, and configured, but run together Network
enterprise service bus OWL knowledge base JESS C o u g a a r runtime C o u g a a r runtime runtime C o u g a a r SQL DB services MPI Library Corba/RMI web services processes/threads TCP/UDP network stack files wire/fiber/ radio wire/fiber/ radio wire/fiber/ radio disk disk disk CPU CPU CPU Integration with Legacy Systems word processing embedded control scheduling semantic tagging Applicationm Applicationj banking/airlines ftp, telnet, ssh web Services … Applicationn Applicationk embedded devices scientific comp. … … … grid-based systems message-based systems DB-based systems Main Cougaar architectural feature: imported libraries and component wrappers
Sensor Proxy Agents Situation Predictor Agents Cognitive Learner Agents Real-time Optimizer Agents Sensor Proxy Agents Architectural Mapping management plane data plane Cognitive Control Loop Model-Based Control Loop Sensor-Based Control Loop processing status coordination processing. trends coordination processing pattern coordination Model situation policy Processing Units inference rules network Disk CPU resource pattern coordination resource trends coordination resource status coordination days to minutes secs to msecs minutes to sec • Cougaar • Agent societies • Cougaar environment • Agent coordinations • Transitioning of control loops human to automation • Application • Functional modules (oval shaped) • Underlying distributed environment • Sensor to control loop coordination • Evolving degree of human involvement architectural mapping
Outline Target Applications Cougaar Agent Middleware Adaptive Environments Open Research Topics
Adaptation • Adaptation picks the best implementation which meets the application QoS requirements within the resource constraints • To make this tradeoff: adaptive systems must have: • Multiple implementations • Characterization of each implementation based requirement and constraint conditions • A mechanism for detecting the system’s conditions • A policy for choosing which implementation given the conditions. • A mechanism for enabling the implementation Application Loads Quality of Service Algorithm Implementation Resource Capacities Utilization/Cost
Static Design vs. Adaptation Water Fall Design Process • Static Design strives for a simple, elegant, efficient solution to a single situation. Outside of that situation the design is useless • Adaptation strives to just survive in a constantly changing situation. Adaptation is continuously making design decisions Requirements Design Implement Test Adaptive Control Loop Policy Adaptive Control Conditions Conditions QoS Impl Loads Impl Implementation Capacity Cost
Example Adaptive Environment Services Cougaar examples of how to make adaptive environment services. • Support for Adaptive Life Cycle allows multiple hooks adding adaptive code • Coordination Service allows agents to interact via the environment • Knowledge Representation (KR) manages inference and change notification of agent’s internal state • Programming Model enables developers to decompose application and systems issues
Supporting Adaptation in the System Life Cycle Cougaar Middleware IDE Application Plugins Spec Tool Deploy Rules Society Monitor Run Server
Work-flow between stations Component Component Component Component Aspect Delegates Aspect Object Aspect Object QoS State QoS State QoS Services QoS Services Aspects Cross-Cutting Functionality
Example: Status Dissemination Overlay Network C • Probe Agents • Collects real time data • Client Proxy Agents • Access control, security enforcement, flow-control • Dissemination Agents (forms a mesh) • Floods Status Records toward subscribers • Baseline Agents • Holds default ontology and system configuration • Management Agents • Mesh topology creation • Society monitoring and control • Agent restart and move D D P P D D D P C D D D P C B B • v12.2 Coordinations • Task/Allocation • Relays
Future: Support for Coordination Artifacts Defines roles • Coordination Artifacts: CAs • Are first-class entities in MAS • Define explicit roles for role-players • Offer shared state between the role-player & the CA • Coordinate behavior among role-players • Have distributed implementation Coordination Artifact (CA) Agent Agent Role-players Shared state Agent Agent
QoS-Adaptive Translation Changes the Translation Mechanics to Match the Situation QoS-Adaptive Translation • Translation should take into account • Structure of starting and ending data structures • Probability and frequency that structures will change • The constraints of the transfer path Deltas Change Reconstruction Change Detection Transfer Constraints Host Object capacity Process Latency Object Class Method Method Method Method Load Latency= Load / Capacity
FrameSet Knowledge Representation Host Equip • Java Objects are code generated • Frames and relationships defined using XML • Support multiple Java interfaces • Cougaar Blackboard, • JESS Shadow Facts, • Java Beans • Web Server • Slot inference (Real-time) • Type (is-a) • Containment (has-a) • Visitor Pattern (composed-of) • Aggregation (summary-of) • Relationships are also Frames • Benefits from Frame inheritance • Meta-data tags • Defined at compile-time • Slots, frames, framesets • Example Slot meta-data • Type, default-value, units, path, doc, member, warn, immutable, notify-blackboard, notify-listeners, transient Process Appl Thing Object Class Type inheritance Containment inheritance Frame name value name value name value Relationship parent-name value child-name value
Future: OWL-RDF Graph Support on BB • Nodes are defined by URIs • Links are defined by OWL Statements. • (Subject, Predicate Object) • OWL statements are merged from multiples sources • Redundant probes • Different time horizons • Status Calculus/policies define the merge procedure. • Modifying an OWL Statement can: • Add an object instance • Change an attribute’s value • Assert general relationships between entities • Queries return a “subgraph”, i.e. linked set of OWL statements OWL Statement (“http://bbn.com/CommGear/STU-III-Phone#703-555-1212”, “serialNumber”, ” 43123154562”) OWL Statement (“WI”, “IsA”,”State”)
Characteristics of Programming Models The programming model for interaction between components, should allow a range of flexibility vs efficiency tradeoffs
Future: Multiple Knowledge Processing Frameworks Agent Domain Processing Rule code Procedural code LHS Patterns RHS Trigger Assert Retract Domain Processing Domain Routines Domain Objects Code Libraries Agents Concentrate on domain processing Facts from multiple Partitions Blackboard Partitions managed by Coordination Artifacts Partitioned Blackboard Coordination with External Systems Coordination with Physical Environment Coordination with Peer Agents Real-Time Knowledge Feeds
Outline Target Applications Cougaar Agent Middleware Adaptive Environments Open Research Topics
Open Systems Research Problems • Adaptive Knowledge Sharing • How to automatically and efficiently translate knowledge betweens heterogeneous agents? • How can we merge domain ontologies and system constraints ontologies? • Coordination • How do we make coordination first class? • How to formally specify coordination, in order to reason about at runtime? • High-level agent Programming Abstraction • How to give agents richer and domain-customized programming support? • Societies Composition • How to merge multiple societies to perform a higher level task? • How to partition societies into federations to reduce complexity? • Reuse • How to define and create libraries of reusable coordinations? • What common set of services to standardize in order to simplify agent implementation? • Which reusable generic set of agents to offer for specific services?
Open Source Cougaar • Release 12.2 in March 12, 2007 • ~2000 downloads 12.0 release • 30 downloads rel 12.2 (1 week) • 46 active hosted projects (~10 BBN) • ~1400 active users www.cougaar.org