Interaction-Oriented Software Engineering Amit K. Chopra Lancaster - - PowerPoint PPT Presentation

interaction oriented software engineering
SMART_READER_LITE
LIVE PREVIEW

Interaction-Oriented Software Engineering Amit K. Chopra Lancaster - - PowerPoint PPT Presentation

Interaction-Oriented Software Engineering Amit K. Chopra Lancaster University a.chopra1@lancaster.ac.uk (Joint work with Munindar P. Singh) Dagstuhl March 25, 2015 Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 1 / 16


slide-1
SLIDE 1

Interaction-Oriented Software Engineering

Amit K. Chopra Lancaster University a.chopra1@lancaster.ac.uk (Joint work with Munindar P. Singh)

Dagstuhl

March 25, 2015

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 1 / 16

slide-2
SLIDE 2

Interaction-Orientation

Designing a multiagent system means designing interaction protocols

Principal Principal Agent Agent Database Database Sociotechnical System

Interaction Messages

◮ How to specify interaction protocols and how to support their

enactments via software?

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 2 / 16

slide-3
SLIDE 3

Current Software Engineering: Machine-Oriented

SE considers only two “participants”: the software and the environment Input Devices (Sensors) Environment Software to be Output Devices (Actuators) Monitored variables Input data Controlled variables Output data

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 3 / 16

slide-4
SLIDE 4

Current Approaches: Integration

X m Y Communication

API API

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 4 / 16

slide-5
SLIDE 5

Interaction Protocols

Specify rules of encounter

◮ Low-level

◮ Among objects, sensors, devices, software agents, and so on ◮ Specify constraints on messaging ◮ E.g. in the Blindingly Simple Protocol Language (Singh)

◮ High-level (traditional focus in MAS)

◮ Specify how social expectations among principals progress as they

interact

◮ E.g., commitment protocols Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 5 / 16

slide-6
SLIDE 6

Expectations

Accountability in reverse

◮ Arise in an organizational context ◮ Directed from expector to expectee ◮ For something conditional ◮ E.g., in commitments, creditor is expector and debtor is expectee ◮ Norms are expectations

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 6 / 16

slide-7
SLIDE 7

Cupid: A Commitment-Based Information Layer

Enables tracking commitments in databases

◮ With Cupid, one writes simple canonical commitment queries

◮ All created commitment of a type (analogously, detached, expired,

violated, and discharged).

◮ Instead of complex low-level SQL queries or rules

Agent Agent Cupid queries Cupid queries Database Database Messaging

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 7 / 16

slide-8
SLIDE 8

An Information Model and Commitment Specification

Quote (mID , cID , qID , itemID , uPrice , t ) with key qID Order ( cID , mID ,

  • ID ,

qID , qty , addr , t ) with key oID Payment ( cID , mID , pID ,

  • ID ,

pPrice , t ) with key pID Shipment (mID , cID , sID , oID , addr , t ) with key sID Refund (mID , cID , rID , pID , rAmount , t ) with key rID Coupon ( cID , mID , uID ,

  • ID ,

rebate , t ) with key uID commitment DiscountQuote mID to cID create Quote detach Order and Payment [ , Quote + 10] where pPrice >= 0.9 ∗ uPrice ∗ qty discharge Shipment [ , Payment + 5]

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 8 / 16

slide-9
SLIDE 9

Calypso: Commitment Alignment

Fundamental notion of interoperability

◮ Each agent observes messages sequentially ◮ System state is a vector of observation sequences, one for each agent ◮ Invariant: In any system state, if a creditor infers an active

commitment from its observations, then debtor must infer that commitment as active from its own observations.

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 9 / 16

slide-10
SLIDE 10

Asynchrony Problems

Scenarios (B), (C), and (D) end in misalignment

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 10 / 16

slide-11
SLIDE 11

Problems Due to NonFIFO Message Delivery

In (B) and (C) messages are not delivered on FIFO basis, which causes misalignment

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 11 / 16

slide-12
SLIDE 12

Transaction-Related Problems

Aligned but unrealistic outcomes due to the lack of transactions

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 12 / 16

slide-13
SLIDE 13

Completeness

In (A) and (B), misaligned at dotted line, but not in (C)

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 13 / 16

slide-14
SLIDE 14

Cupid and Calypso

Done independently, but deep connections

◮ Cupid tells us what is in a database; Calypso ensures multiple

databases are sufficiently synced up

◮ Parts of the same puzzle: a commitment-based middleware that

simplifies agent programming

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 14 / 16

slide-15
SLIDE 15

Layered Architecture for MAS

Low-level and high-level protocols

Agent Agent Cupid & Calypso Cupid & Calypso LoST (BSPL) LoST (BSPL) Transport Transport

Cupid specifications BSPL specifications Messages

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 15 / 16

slide-16
SLIDE 16

Summary

◮ Approach normative multiagent systems as distributed systems ◮ Understand norms as expectations among principals ◮ Understand norms in terms of information in databases ◮ Build an abstraction layer that addresses issues of information and

distribution

Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 16 / 16