170 likes | 275 Views
Evaluating BDI Agents to Integrate Resources Over Cyberinfrastructure. Leonardo Salayandía The University of Texas at El Paso. Overview. Motivation BDI (Belief-Desire-Intention) Agents Contrast to Workflow Technologies SPARK, an BDI Agent Framework Summary. Motivation.
E N D
Evaluating BDI Agents to Integrate Resources Over Cyberinfrastructure Leonardo Salayandía The University of Texas at El Paso Geoinformatics 2006 University of Texas at El Paso
Overview • Motivation • BDI (Belief-Desire-Intention) Agents • Contrast to Workflow Technologies • SPARK, an BDI Agent Framework • Summary Geoinformatics 2006 University of Texas at El Paso
Motivation • Producing a Gravity Data Contour Map Request Gravity Contour Map Specify Region of Interest GEON Portal Get Map Request Processing & Workflow Engine, e.g., Kepler Middleware Initiate Composition of Resources Send Result Filter Data Grid Data Produce Contour Map Gravity Data Source Geoinformatics 2006 University of Texas at El Paso
Motivation • Producing a Gravity Data Contour Map Request Gravity Contour Map Specify Region of Interest GEON Portal • Which alternative to use? • Who should make the decision? • Decision in workflow design • User makes decision at runtime Get Map What if: • there are multiple resources to choose from? Middleware Gravity Data Source Filter Data Grid Data Produce Contour Map Gravity Data Source Gravity Data Source Geoinformatics 2006 University of Texas at El Paso
Motivation • Producing a Gravity Data Contour Map Request Gravity Contour Map Specify Region of Interest GEON Portal • Which alternative to use? • Who should make the decision? • Decision in workflow design • User makes decision at runtime Get Map What if: 2. a resource is unavailable? adaptation or graceful degradation is possible? Middleware Filter Data Grid Data Produce Contour Map Gravity Data Source Geoinformatics 2006 University of Texas at El Paso
Motivation • Producing a Gravity Data Contour Map Request Gravity Contour Map Specify Region of Interest GEON Portal • Which alternative to use? • Who should make the decision? • Decision in workflow design • User makes decision at runtime Get Map What if: 3. poor Quality of Service is experienced? adaptation or graceful degradation is possible? Middleware Filter Data Grid Data Produce Contour Map Gravity Data Source Geoinformatics 2006 University of Texas at El Paso
Research Problems • Are state-of-the-art workflow approaches good enough for cyberinfrastructures? • Is it possible to automate the alternative decision process? • Is it possible to handle service discovery? • Others? GEON needs workflows that can react to changes in the cyberinfrastructure Geoinformatics 2006 University of Texas at El Paso
Belief-Desire-Intention Agents • Software Agent • Software that takes action “on behalf of” a user or other software • BDI Agents, mature work from AI community [Bratman, 1987] • Agents with “mental attitudes” • Beliefs (informational) – Reflection of current state of the world • Belief vs. Fact • Beliefs can change over time and are based on sensory information • Facts imply more constant behavior and provide no room for perception inaccuracies • Desires (motivational) – Objectives to be accomplished by the system • Desire vs. Goal • There may be multiple desires at any instant in time and these may be mutually incompatible • Intentions (deliberative) – Representation of selected course of action • Intention paths selected according to current Beliefs • Intentions can be back-tracked Geoinformatics 2006 University of Texas at El Paso
BDI-Application Characteristics [Rao and Georgeff, 1995] • Environment evolves non-deterministically • User has no control over networks • User has no control over distributed resources • System can execute different actions at any instant of time • Obtain Gravity Data from PACES data source to produce map • Obtain Gravity Data Contour Map from a Map library • The system can be asked to accomplish different objectives • Produce map X, produce map Y, balance workload of map-producing services • The selection of an action to achieve an objective depends on the state of the environment, not system state • Filtering service X unavailable, select filtering service Y instead • The environment is sensed locally (i.e., one reading cannot determine the state of the whole environment) • Network traffic cannot be determined by response time of service X • The rate at which actions are completed is within reasonable bounds to the rate at which the environment evolves • Network traffic conditions change while selected filtering service produces the assigned transformation Geoinformatics 2006 University of Texas at El Paso
BDI-Application Characteristics [Rao and Georgeff, 1995] • Environment evolves non-deterministically • No control over networks • No control over distributed resources • System can execute different actions at any instant of time • Obtain Gravity Data from PACES data source to produce map • Obtain Gravity Data Contour Map from a Map library • The system can be asked to accomplish different objectives • Produce map X, produce map Y, balance workload of map-producing services • The selection of an action to achieve an objective depends on the state of the environment, not system state • Filtering service X unavailable, select filtering service Y instead • The environment is sensed locally (i.e., one reading cannot determine the state of the whole environment) • Network traffic cannot be determined by response time of service X • The rate at which actions are completed is within reasonable bounds to the rate at which the environment evolves • Network traffic conditions change while selected filtering service produces the assigned transformation Beliefs (Informational) Geoinformatics 2006 University of Texas at El Paso
BDI-Application Characteristics [Rao and Georgeff, 1995] • Environment evolves non-deterministically • No control over networks • No control over distributed resources • System can execute different actions at any instant of time • Obtain Gravity Data from PACES data source to produce map • Obtain Gravity Data Contour Map from a Map library • The system can be asked to accomplish different objectives • Produce map X, produce map Y, balance workload of map-producing services • The selection of an action to achieve an objective depends on the state of the environment, not system state • Filtering service X unavailable, select filtering service Y instead • The environment is sensed locally (i.e., one reading cannot determine the state of the whole environment) • Network traffic cannot be determined by response time of service X • The rate at which actions are completed is within reasonable bounds to the rate at which the environment evolves • Network traffic conditions change while selected filtering service produces the assigned transformation Desires (Motivational) Geoinformatics 2006 University of Texas at El Paso
BDI-Application Characteristics [Rao and Georgeff, 1995] • Environment evolves non-deterministically • No control over networks • No control over distributed resources • System can execute different actions at any instant of time • Obtain Gravity Data from PACES data source to produce map • Obtain Gravity Data Contour Map from a Map library • The system can be asked to accomplish different objectives • Produce map X, produce map Y, balance workload of map-producing services • The selection of an action to achieve an objective depends on the state of the environment, not system state • Filtering service X unavailable, select filtering service Y instead • The environment is sensed locally (i.e., one reading cannot determine the state of the whole environment) • Network traffic cannot be determined by response time of service X • The rate at which actions are completed is within reasonable bounds to the rate at which the environment evolves • Network traffic conditions change while selected filtering service produces the assigned transformation Intentions (Deliberative) Geoinformatics 2006 University of Texas at El Paso
Contrast to Workflow Technologies • Prototype of example in Kepler • Two ports: • Failed execution • Normal execution Procedural programming Workflow designer is responsible for planning all possible paths Geoinformatics 2006 University of Texas at El Paso
SPARK, a BDI Agent Framework-1 • SRI Procedural Agent Realization Kit • Influenced by its predecessor: Procedural Reasoning System (PRS) • Design motivations • Scalability for large agent applications • Flexibility in delivery platform • Developed in Python • Interface to Java and C code • SPARK agent language: SPARK-L • Balance between emphasis on formal properties • Emphasis on application development Geoinformatics 2006 University of Texas at El Paso
SPARK, a BDI Agent Framework-2 • Prototype of example in SPARK-L Triggering condition Several procedures may have the same triggering condition {defprocedure GenerateContourMap cue: [do: (generateContourMap +$area -$map)] precondition: (True) body: [seq: [do: (retrieveData +$area -$data)] [do: (filterData +$data -$filtereddata)] [do: (gridData +$filtereddata -$griddeddata)] [do: (generateContourMapFromGrid +$griddeddata -$map)] ] } Guard condition Procedure may trigger other actions or resolve based on some ground fact Agent framework chooses the execution path Advanced meta-level reasoning mechanisms supported Geoinformatics 2006 University of Texas at El Paso
Summary-1 • BDI Agent • User expresses desires to Agent • E.g., get contour map of gravity data • Agent figures out details • System adaptation to dynamic environment • Automatic intention selection • Workflows • Designer plans for alternatives at design time • Better support for service composition design • Good for well-known, static routines under controlled environments • Hybrid approach? Geoinformatics 2006 University of Texas at El Paso
Summary-2 • BDI Agents exhibit “mental attitudes” • Belief, Desire, Intention • Informational, Motivational, Deliberative • Goal oriented vs. Task Oriented • BDI agents can discover and take advantage of opportunities • BDI agents can recover from a previously committed path • How to facilitate BDI Agent programming for Cyberinfrastructure? • Can ontologies be leveraged? • Can other tools help? E.g., CTTE Geoinformatics 2006 University of Texas at El Paso