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
Interaction-Orientation Designing a multiagent system means designing interaction protocols Sociotechnical System Principal Principal Interaction Agent Messages Agent Database Database ◮ 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
Current Software Engineering: Machine-Oriented SE considers only two “participants”: the software and the environment Monitored Input Input Devices variables data (Sensors) Environment Software to be Output Devices (Actuators) Controlled Output variables data Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 3 / 16
Current Approaches: Integration m X Y API API Communication Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 4 / 16
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
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
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 Messaging Agent Cupid queries Cupid queries Database Database Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 7 / 16
An Information Model and Commitment Specification Quote (mID , cID , qID , itemID , uPrice , t ) with key qID Order ( cID , mID , oID , qID , qty , addr , t ) with key oID Payment ( cID , mID , pID , oID , 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 , oID , 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
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
Asynchrony Problems Scenarios (B), (C), and (D) end in misalignment Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 10 / 16
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
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
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
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
Layered Architecture for MAS Low-level and high-level protocols Agent Agent Cupid & Calypso Cupid specifications Cupid & Calypso LoST (BSPL) BSPL specifications LoST (BSPL) Transport Transport Messages Chopra (a.chopra1@lancaster.ac.uk) IOSE March 25, 2015 15 / 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
Recommend
More recommend